Repository: NathanY3G/rp2040-pio-emulator (language: python)

Issue:
Unnecessary dependencies in pyproject.toml
The `pyproject.toml` file contains dependencies for the Jupyter (Notebooks) system. These are large dependencies that can take a significant amount of time to download and install. Furthermore, these are not required by the emulator or for its development; they are only required by a single example!

Please consider moving them to the relevant example instead.


Discussion / hints:

Fix patch:
diff --git a/examples/jupyter-notebook/requirements.txt b/examples/jupyter-notebook/requirements.txt
new file mode 100644
index 0000000..7ce2044
--- /dev/null
+++ b/examples/jupyter-notebook/requirements.txt
@@ -0,0 +1,75 @@
+argon2-cffi==21.3.0
+argon2-cffi-bindings==21.2.0
+asttokens==2.0.5
+attrs==21.4.0
+backcall==0.2.0
+beautifulsoup4==4.11.1
+bleach==5.0.0
+cffi==1.15.0
+cycler==0.11.0
+debugpy==1.6.0
+decorator==5.1.1
+defusedxml==0.7.1
+entrypoints==0.4
+executing==0.8.3
+fastjsonschema==2.15.3
+fonttools==4.33.3
+ipykernel==6.13.0
+ipython==8.3.0
+ipython-genutils==0.2.0
+ipywidgets==7.7.0
+jedi==0.18.1
+Jinja2==3.1.2
+jsonschema==4.5.1
+jupyter==1.0.0
+jupyter-client==7.3.1
+jupyter-console==6.4.3
+jupyter-core==4.10.0
+jupyterlab-pygments==0.2.2
+jupyterlab-widgets==1.1.0
+kiwisolver==1.4.2
+MarkupSafe==2.1.1
+matplotlib==3.5.2
+matplotlib-inline==0.1.3
+mistune==0.8.4
+nbclient==0.6.3
+nbconvert==6.5.0
+nbformat==5.4.0
+nest-asyncio==1.5.5
+notebook==6.4.11
+numpy==1.22.3
+packaging==21.3
+pandas==1.4.2
+pandocfilters==1.5.0
+parso==0.8.3
+pexpect==4.8.0
+pickleshare==0.7.5
+Pillow==9.1.0
+prometheus-client==0.14.1
+prompt-toolkit==3.0.29
+psutil==5.9.0
+ptyprocess==0.7.0
+pure-eval==0.2.2
+pycparser==2.21
+Pygments==2.12.0
+pyparsing==3.0.9
+pyrsistent==0.18.1
+python-dateutil==2.8.2
+pytz==2022.1
+pyzmq==22.3.0
+qtconsole==5.3.0
+QtPy==2.1.0
+rp2040-pio-emulator==0.26.0
+scipy==1.8.0
+seaborn==0.11.2
+Send2Trash==1.8.0
+six==1.16.0
+soupsieve==2.3.2.post1
+stack-data==0.2.0
+terminado==0.13.3
+tinycss2==1.1.1
+tornado==6.1
+traitlets==5.2.0
+wcwidth==0.2.5
+webencodings==0.5.1
+widgetsnbextension==3.6.0
diff --git a/pioemu/__init__.py b/pioemu/__init__.py
index 256f032..ea3d63a 100644
--- a/pioemu/__init__.py
+++ b/pioemu/__init__.py
@@ -11,7 +11,7 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-__version__ = "0.28.0"
+__version__ = "0.29.0"
 
 from .conditions import clock_cycles_reached
 from .emulation import emulate
diff --git a/pyproject.toml b/pyproject.toml
index 56344d1..b4ff8a2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
 [tool.poetry]
 name = "rp2040-pio-emulator"
-version = "0.28.0"
+version = "0.29.0"
 description = "RP2040 emulator for the testing and debugging of PIO programs"
 authors = ["Nathan Young"]
 license = "Apache-2.0"
@@ -25,9 +25,6 @@ pylint = "2.13.8"
 pytest = "7.1.2"
 coverage = "6.3.2"
 black = "22.3.0"
-jupyter = "1.0.0"
-matplotlib = "3.5.2"
-seaborn = "0.11.2"
 
 [build-system]
 requires = ["poetry-core>=1.0.0"]


Test patch:
diff --git a/examples/pimoroni-blinkt-unit-test/requirements.txt b/examples/pimoroni-blinkt-unit-test/requirements.txt
new file mode 100644
index 0000000..52e67ed
--- /dev/null
+++ b/examples/pimoroni-blinkt-unit-test/requirements.txt
@@ -0,0 +1,9 @@
+attrs==21.4.0
+iniconfig==1.1.1
+packaging==21.3
+pluggy==1.0.0
+py==1.11.0
+pyparsing==3.0.9
+pytest==7.1.2
+rp2040-pio-emulator==0.26.0
+tomli==2.0.1