Our great sponsors
|26 days ago||2 days ago|
|MIT License||MIT License|
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Display and browse images efficiently in the terminal
5 projects | reddit.com/r/Python | 27 Jun 2022
I haven't personally tried it but this project uses it with rich.
nbpreview: a terminal viewer for Jupyter notebooks
3 projects | reddit.com/r/Python | 10 Mar 2022
An opinionated Python boilerplate
6 projects | reddit.com/r/Python | 12 Mar 2023
This alone resolves one of the major backtracking problems that first appeared once the new resolver landed (installing apache-airflow 1.10.13), I carefully tested here to show that a hack introduced in to Pip's backtracking choices can now be removed: https://github.com/pypa/pip/issues/11836
Why can't Pip just tell me my python version is too new? Someone please make this make sense to me.
2 projects | reddit.com/r/Python | 25 Feb 2023
One Does Not Simply 'pip install'
2 projects | news.ycombinator.com | 19 Feb 2023
Slightly tangential, but... one also does not simply `pip download` if one does not want execute code - https://github.com/pypa/pip/issues/1884.
I wanted to run guarddog on source packages. Only then build them locally and install. Turns out, pip download triggers code execution in fetched packages.
Somewhat surprising and in this day and age worth spreading awareness of.
TabFS – a browser extension that mounts the browser tabs as a filesystem
15 projects | news.ycombinator.com | 18 Feb 2023
> even package managers like pip
This reminds me of a blog post  I read before. Pertinent quote:
> Unbeknownst to me, even with --dry-run pip will execute arbitrary code found in the package's setup.py. In fact, merely asking pip to download a package can execute arbitrary code (see pip issues 7325  and 1884  for more details)!
Also seen on Twitter .
How to improve Python packaging, or why 14 tools are at least 12 too many
9 projects | news.ycombinator.com | 15 Jan 2023
Ultimately it needs to be "Python.org" that endorses the tool, not PyPA, no one in the scheme of things know who PyPA are and if it's the "one true way".
If you got to Python.org and follow through to the beginners guide  this is what's suggested:
> There are several methods to install additional Python packages:
> Packages can be installed via the standard Python distutils mode (python setup.py install).
> Many packages can also be installed via the setuptools extension or pip wrapper, see https://pip.pypa.io/.
That is so out of date and fundamentally confuses people coming to Python for the first time.
The PyPA need to get buy in from Python Core to put one tool front and centre first. It needs to be like Rust with Cargo, literally the first thing you learn to use and core to all beginners guides.
That's not to diminish the work of PyPA, you are all amazing I just want your work to be more obvious!
How does a virtual environment work?
2 projects | reddit.com/r/Python | 5 Jan 2023
~/tmp $ python3 -m venv --copies testvenv ~/tmp $ testvenv/bin/pip install xkcdpass Collecting xkcdpass Using cached xkcdpass-1.19.3.tar.gz (2.6 MB) Preparing metadata (setup.py) ... done Installing collected packages: xkcdpass DEPRECATION: xkcdpass is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559 Running setup.py install for xkcdpass ... done Successfully installed xkcdpass-1.19.3 ~/tmp $ testvenv/bin/xkcdpass travesty sizzling untying penpal impish matchbox ~/tmp $ head -n 1 testvenv/bin/xkcdpass #!/home/vinay/tmp/testvenv/bin/python3 ~/tmp $ mv testvenv testvenv2 ~/tmp $ testvenv2/bin/xkcdpass bash: testvenv2/bin/xkcdpass: /home/vinay/tmp/testvenv/bin/python3: bad interpreter: No such file or directory
I try to get pip to install cchardet and it says I dont have Visual Studio - BUT I DO :(
2 projects | reddit.com/r/pythonhelp | 24 Dec 2022
DEPRECATION: cchardet is being installed using the legacy 'setup.py install' method, because it does not have a 'pyproject.toml' and the 'wheel' package is not installed. pip 23.1 will enforce this behaviour change. A possible replacement is to enable the '--use-pep517' option. Discussion can be found at https://github.com/pypa/pip/issues/8559
Built a program to batch convert RAWs to PDFs. Link to repo in comments.
4 projects | reddit.com/r/LearningJapanese | 19 Dec 2022
pip: 13'441 commits, 86'573 objects, 66.2 MiB packed, 211 MiB unpacked
Speech Recognition module in Python
3 projects | reddit.com/r/Python | 15 Nov 2022
% pip install --global-option='build_ext' --global-option='-I/opt/homebrew/include/portaudio.h' --global-option='-L/opt/homebrew/Cellar/portaudio/19.7.0/include/portaudio.h' pyaudio WARNING: Implying --no-binary=:all: due to the presence of --build-option / --global-option / --install-option. Consider using --config-settings for more flexibility. DEPRECATION: --no-binary currently disables reading from the cache of locally built wheels. In the future --no-binary will not influence the wheel cache. pip 23.1 will enforce this behaviour change. A possible replacement is to use the --no-cache-dir option. You can use the flag --use-feature=no-binary-enable-wheel-cache to test the upcoming behaviour. Discussion can be found at https://github.com/pypa/pip/issues/11453 Collecting pyaudio Using cached PyAudio-0.2.12.tar.gz (42 kB) Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: pyaudio WARNING: Ignoring --global-option when building pyaudio using PEP 517 Building wheel for pyaudio (pyproject.toml) ... error error: subprocess-exited-with-error
macOS Dev Setup
23 projects | dev.to | 6 Nov 2022
pip was also installed by pyenv. It is the package manager for Python.
What are some alternatives?
mamba - The Fast Cross-Platform Package Manager
Poetry - Python packaging and dependency management made easy
PDM - A modern Python package and dependency manager supporting the latest PEP standards
conda - A system-level, binary package and environment manager running on all major operating systems and platforms.
pip-tools - A set of tools to keep your pinned Python dependencies fresh.
wheel - Adoption analysis of Python Wheels: https://pythonwheels.com/
Curdling - Concurrent package manager for Python
dephell - :package: :fire: Python project management. Manage packages: convert between formats, lock, install, resolve, isolate, test, build graph, show outdated, audit. Manage venvs, build package, bump version.
termux-create-package - Python script to create Termux packages easily.
devpi - Python PyPi staging server and packaging, testing, release tool
python-kucoin - Kucoin REST and Websocket API python implementation
flit - Simplified packaging of Python modules