Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Is it possible to reduce the installation footprint? #15

Open
project-owner opened this issue May 1, 2024 · 5 comments
Open

Is it possible to reduce the installation footprint? #15

project-owner opened this issue May 1, 2024 · 5 comments
Assignees
Labels
enhancement New feature or request

Comments

@project-owner
Copy link

project-owner commented May 1, 2024

It needs more than 100MB of disk space when installed on a Raspberry Pi. Is it possible to reduce that size?

Successfully installed alabaster-0.7.16 anyio-4.3.0 argon2-cffi-23.1.0 argon2-cffi-bindings-21.2.0 arrow-1.3.0 async-lru-2.0.4 attrs-23.2.0 bleach-6.1.0 cffi-1.16.0 comm-0.2.2 coverage-7.5.0 debugpy-1.8.1 decorator-5.1.1 defusedxml-0.7.1 executing-2.0.1 fastjsonschema-2.19.1 fqdn-1.5.1 furo-2024.4.27 greenlet-3.0.3 h11-0.14.0 httpcore-1.0.5 httpx-0.27.0 imagesize-1.4.1 iniconfig-2.0.0 ipykernel-6.29.4 ipython-8.24.0 ipywidgets-8.1.2 isoduration-20.11.0 json5-0.9.25 jsonpointer-2.4 jsonschema-4.22.0 jsonschema-specifications-2023.12.1 jupyter-cache-1.0.0 jupyter-client-8.6.1 jupyter-core-5.7.2 jupyter-events-0.10.0 jupyter-lsp-2.2.5 jupyter-server-2.14.0 jupyter-server-terminals-0.5.3 jupyterlab-4.1.8 jupyterlab-pygments-0.3.0 jupyterlab-server-2.27.1 jupyterlab-widgets-3.0.10 levenshtein-0.25.1 markdown-it-py-3.0.0 matplotlib-inline-0.1.7 mdit-py-plugins-0.4.0 mdurl-0.1.2 mistune-3.0.2 mutagen-1.47.0 myst-nb-1.1.0 myst-parser-3.0.1 nbclient-0.10.0 nbconvert-7.16.4 nbformat-5.10.4 nest-asyncio-1.6.0 notebook-shim-0.2.4 numpydoc-1.7.0 overrides-7.7.0 packaging-24.0 pandocfilters-1.5.1 playwright-1.43.0 pluggy-1.5.0 prometheus-client-0.20.0 prompt-toolkit-3.0.43 pure-eval-0.2.2 pycparser-2.22 pyee-11.1.0 pytest-8.2.0 pytest-base-url-2.1.0 pytest-playwright-0.4.4 python-dateutil-2.9.0.post0 python-json-logger-2.0.7 python-slugify-8.0.4 pyyaml-6.0.1 pyzmq-26.0.2 rapidfuzz-3.8.1 referencing-0.35.0 requests-2.31.0 rfc3339-validator-0.1.4 rfc3986-validator-0.1.1 rpds-py-0.18.0 ruff-0.4.2 send2trash-1.8.3 sniffio-1.3.1 snowballstemmer-2.2.0 sphinx-7.3.7 sphinx-basic-ng-1.0.0b2 sphinx-copybutton-0.5.2 sphinx-togglebutton-0.3.2 sphinxcontrib-applehelp-1.0.8 sphinxcontrib-devhelp-1.0.6 sphinxcontrib-htmlhelp-2.0.5 sphinxcontrib-jsmath-1.0.1 sphinxcontrib-qthelp-1.0.7 sphinxcontrib-serializinghtml-1.1.10 sqlalchemy-2.0.29 stack-data-0.6.3 tabulate-0.9.0 terminado-0.18.1 text-unidecode-1.3 tinycss2-1.3.0 tornado-6.4 traitlets-5.14.3 types-python-dateutil-2.9.0.20240316 typing-extensions-4.11.0 uri-template-1.3.0 wcwidth-0.2.13 webcolors-1.13 websocket-client-1.8.0 widgetsnbextension-4.0.10

What could be safely deleted after installation or from the requirements.txt?

pi@raspberrypi:~ $ du -h minim
64K     minim/.git/hooks
8.0K    minim/.git/info
8.0K    minim/.git/logs/refs/heads
8.0K    minim/.git/logs/refs/remotes/origin
12K     minim/.git/logs/refs/remotes
24K     minim/.git/logs/refs
32K     minim/.git/logs
8.0K    minim/.git/refs/heads
8.0K    minim/.git/refs/remotes/origin
12K     minim/.git/refs/remotes
4.0K    minim/.git/refs/tags
28K     minim/.git/refs
4.0K    minim/.git/branches
4.0K    minim/.git/objects/info
76M     minim/.git/objects/pack
76M     minim/.git/objects
76M     minim/.git
2.3M    minim/assets
268K    minim/docs/notebooks/user_guide
400K    minim/docs/notebooks
2.5M    minim/docs/_modules/minim
2.5M    minim/docs/_modules
72K     minim/docs/source/notebooks/user_guide
148K    minim/docs/source/notebooks
16K     minim/docs/source/_templates/autosummary
20K     minim/docs/source/_templates
100K    minim/docs/source/api
296K    minim/docs/source
140K    minim/docs/_static/styles
44K     minim/docs/_static/scripts
416K    minim/docs/_static
72K     minim/docs/_sources/notebooks/user_guide
148K    minim/docs/_sources/notebooks
112K    minim/docs/_sources/api
276K    minim/docs/_sources
3.2M    minim/docs/api
152K    minim/docs/.doctrees/notebooks/user_guide
304K    minim/docs/.doctrees/notebooks
6.0M    minim/docs/.doctrees/api
12M     minim/docs/.doctrees
19M     minim/docs
7.8M    minim/tests/data/previews
916K    minim/tests/data/samples
8.7M    minim/tests/data
8.8M    minim/tests
8.0K    minim/.github/workflows
12K     minim/.github
912K    minim/src/minim
916K    minim/src
106M    minim

Is it OK to use requirements_minimal.txt instead of requirements.txt?

Thank you!

@bbye98
Copy link
Owner

bbye98 commented May 1, 2024

Looks like it'll be a good time for some git repack magic. I believe the large file size might be due to the sample FLACs in the docs/tests that are being updated with each push. I'll look into this.

You can safely delete everything but the src folder, but you may not be able to git pull, etc., in the future. But you may want to consider doing a shallow clone using git clone -depth 1 ... to save disk space instead.

@bbye98 bbye98 self-assigned this May 1, 2024
@bbye98 bbye98 added the enhancement New feature or request label May 1, 2024
@project-owner
Copy link
Author

project-owner commented May 1, 2024

OK, usually 'pip install' installs everything in a regular Python location for libraries. After that the whole folder could be deleted. Tests and docs should not go there.

@bbye98
Copy link
Owner

bbye98 commented May 3, 2024

That's correct. Unfortunately, the PEP 541 request for Minim has not been approved yet. I may put out wheels under Releases so you can grab those instead (you would lose immediate updates through git pull).

@project-owner
Copy link
Author

Would the wheels include only sources without tests and docs? Thanks!

@bbye98
Copy link
Owner

bbye98 commented May 11, 2024

Yes, Python wheels will only include the Python source code. I will build and release wheels once I'm done with the Discogs submodule, but there's no ETA unfortunately as I am busy with other aspects of my life currently.

Hope to provide an update soon, though!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants