This is a tool to help initializing and developing python projects, speeding up the development process.
It exposes every internal as a library, allowing it to be extended/overridden with custom functionalities and behaviour.
Projman uses .projman files to manage the project, which describes the project general structure and allows custom extensions (its a sort package.json rip off)
An example .projman file has the following structure
version: 3.6 # python version
name: example # project name
dependencies: [ # project dependencies
dep1==1.0.0,
dep2==1.0.1
]
main: example.py # path to the entrypoint of the project
# if any, this will be executed with the run command
test-dir: example/tests # path of the tests directory
# if any, this will be executed with the test command
venv: "~/example-venv" # path to the project virtual environment
commands: { # map of custom commands
"mycommand": "..."
}
projman [COMMAND] [...ARGS]
-
init : initialize the project structure and creates the virtual environment with the specified python version, installing every defined dependency
- --no-venv skip virtualenv creation
- --skip-install skip dependencies installation
-
install : installs the project dependencies
-
setup : activates the project virtual environment
- --install : install project dependencies
-
run : runs a command
- Finish basic commands implementation
- Activate virtualenv permanently inside the current shell