Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/beenotung/pym
A package manager for python that works like npm.
https://github.com/beenotung/pym
package-manager python venv-python virtual-environment
Last synced: 21 days ago
JSON representation
A package manager for python that works like npm.
- Host: GitHub
- URL: https://github.com/beenotung/pym
- Owner: beenotung
- License: bsd-2-clause
- Created: 2022-12-15T16:04:30.000Z (about 2 years ago)
- Default Branch: master
- Last Pushed: 2024-12-20T10:10:04.000Z (about 1 month ago)
- Last Synced: 2024-12-20T11:20:16.235Z (about 1 month ago)
- Topics: package-manager, python, venv-python, virtual-environment
- Language: Shell
- Homepage:
- Size: 6.84 KB
- Stars: 5
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pym - python package manager
A package manager for python that works like npm.
## Features
- Dependencies are installed locally (per project) with `venv` in `./python_module`
- Directly installed dependencies are added to `requirements.txt` automatically
- Cross platform: it works on Linux, Mac, and Windows (with git bash)
- This cli tool is a single executable file, you can name it whatever you want, e.g. pym, py, pm, or just p
## Usage
```
pym - python package manager
version: 0.1Usage: pym [command]
Commands:
version:
(Alias: v, -v, --version)
Show version of this cli toolhelp:
(Alias: h, -h, --help)
Show this help messageinit:
Setup dependecy environment with venv in python_modulesinstall:
(Alias: i, add, a)
Install dependecy packages locally with venv project, auto init if neededrun:
(Alias: r)
Run the python script within virtual envrionment, auto init if needed
```## Why this name?
As inspired by npm (nodejs package manager), I named this tool ppm (python package manager) initially.
Later I checked with pacman (archlinux package manager) and found the package plan9port has already registered an executable named ppm, hence renamed to avoid name clash.
## Todo
Look into [PEP 582 - Python local packages directory](https://www.python.org/dev/peps/pep-0582) with [PDM](https://github.com/pdm-project/pdm).
Introduction see: [this article](https://www.infoworld.com/article/3654196/pdm-a-smarter-way-to-manage-python-packages.html)## License
This project is licensed with [BSD-2-Clause](./LICENSE)
This is free, libre, and open-source software. It comes down to four essential freedoms [[ref]](https://seirdy.one/2021/01/27/whatsapp-and-the-domestication-of-users.html#fnref:2):
- The freedom to run the program as you wish, for any purpose
- The freedom to study how the program works, and change it so it does your computing as you wish
- The freedom to redistribute copies so you can help others
- The freedom to distribute copies of your modified versions to others