PLZ
- PLZ Python PIP alternative.
Use
$ plz install pre-commit # Install 1 or more packages
$ plz uninstall pre-commit # Uninstall 1 or more packages
$ plz reinstall pre-commit # Reinstall 1 or more packages
$ plz download pre-commit # Download 1 or more packages
$ plz hash file.py # Show SHA CheckSum of file/package
$ plz open file.py # Open a module in your default code editor
$ plz backup # Compressed signed backup of file/package (GPG+SHA512)
$ plz init # New Python project template (Interactive)
$ plz stats # PyPI official service status report
$ plz newpackages # List all the new Packages uploaded to PyPI recently
$ plz lastupdates # List all existing Packages updated on PyPI recently
$ plz lastjobs # List all new Job Posts updated on Python recently
$ plz userpackages # List all existing Packages by User (Interactive)
$ plz latestversion # Show the Latest Version of a PYPI Package (SemVer)
$ plz forceInstallPip # Force install PIP on arbitrary folder (get-pip.py)
$
$ plz --enUsUtf8 # Force Encoding to UTF-8 and Language to English
$ plz --nopyc # Recursively remove all __pycache__ and *.pyc
$ plz --debug # Show Debug info (for Developers and Bug Reporting)
$ plz --version # Show Version
$ plz --help # Show Help
- For more info see the Help.
Install
- Download it!.
- ~
1
MegaByte single-file standalone native binary executable, no install required, just copy it and run it.
Compile
Manually compiling is usually not needed, but if you want to do it
$ nimble install https://github.com/juancarlospaco/plz.git
Or even more manual:
$ git clone https://github.com/juancarlospaco/plz.git
$ cd plz
$ nim c plz/plz.nim
Uninstall
- Delete it.
Dependencies
- None
- It does NOT depend on
pip
(Not apip
wrapper).
Platforms
-
✅ Linux -
✅ Windows -
✅ Mac -
✅ Raspberry Pi -
✅ ARM -
✅ BSD -
✅ Anything that can compile C.
Features
- 1 Megabyte, 1 file.
- 0 Dependencies.
- The only PIP alternative in the world that just works even with PIP/Python/Virtualenv completely broken.
- Works fully independently self-contained standalone application.
- Design by Contract, Contract Programming.
- Security Hardened by default (based from Gentoo Hardened and Debian Hardened, checked with
hardening-check
). - Coded following the Power of 10: NASA Coding guidelines for safety-critical code (as much as possible).
- No Regular Expressions used, No Regex Bugs and Vulnerabilities.
- Compiled machine code performance, as fast as optimized hand crafted C.
- Faster than Cython, Pypy, Go, NodeJS, D.
- High performance with low resources (RPi, VPS, cloud, old pc, etc).
- Immutable programming, No Global Mutable State.
- Single file binary, it can even delete itself after use.
- No Installs, no setups, just copy & paste and run (even on Alpine).
- New Python project skeleton creator (supports GitHub, Pre-Commit, etc).
- Self-Linting, Self-Documented.
- Real Inferred Static Typed.
- Colored output on the Terminal.
- Project skeleton creator to create your own new Python projects.
- Wont save any passwords, databases, keys, secrets, to disk nor Internet.
- No temporary folders nor files.
- Optimize Python native module binary (PIP Wont optimize binaries).
- Not meant as a drop-in replacement for anything pre-existing.
- 1 language for the whole stack, including high performance modules.
- No Global Interpreter Lock.
- No user Tracking Analytics by default.
- No YAML used on the Core, No YAML Vulnerabilities (you can still use YAML).
- Tiny single file source code.
- No
node_modules
. - DRY code via Templates.
FAQ
- This requires Cython ?.
No.
- This requires DotNet Frameworks on Windows ?.
No.
- This runs on Python2 ?.
I dunno. (Not supported)
- This runs on 32Bit ?.
I dunno. (Not supported)
- This works on Mac?.
Yes.
- This works with SSL ?.
Yes.
- This is a drop-in replacement of PIPEnv ?.
No.
- This requires Nim ?.
No.
API Bugs
From XML-RPC API Server-side this endpoints wont work anymore (Not my Bug):
-
release_downloads
,top_packages
,updated_releases
,changed_packages
. - Sometimes it returns Python Tracebacks as strings on the body of the response.
- Its a big project, some features are not yet implemented as App, but source contains the functionanity whatsoever.
Notes
- http://tonsky.me/blog/disenchantment
- https://chriswarrick.com/blog/2018/07/17/pipenv-promises-a-lot-delivers-very-little/
- https://old.reddit.com/r/Python/comments/chkah3/is_pipenv_dead_why_has_the_project_stopped/
- https://np.reddit.com/r/Python/comments/8jd6aq/why_is_pipenv_the_recommended_packaging_tool_by/
- https://github.com/pypa/pipenv/commit/6d77e4a0551528d5d72d81e8a15da4722ad82f26
- https://github.com/pypa/pipenv/commit/1c956d37e6ad20babdb5021610b2ed2c9c4203f2
- https://github.com/pypa/pipenv/commit/e3c72e167d21b921bd3bd89d4217b04628919bb2
- https://github.com/mitsuhiko/pipsi#pipsi (Dead Project)
Quote from PIPEnv Project:
pipenv release cadence came to a super dramatic halt because of a lot of upstream issues (pip broke, setuptools broke, then pip and setuptools both released breaking fixes, and we have about 15 dependencies which I personally maintain).