ProJect management toolkit
Project description
pj
Installation
Install from PyPI:
$ uv tool install pj-sh
or latest from the GitHub repository:
$ uv tool install git+https://github.com/kitled/pj.git
How to use pj
pj init my-project # start
pj sync # work
pj kill # end
Find all options with --help after any command.
pj --help
pj init --help
init
Create new project
Start with pj init proj_name to create a GitHub repo, setup nbdev
fully, and push ready to code.
pj init my-project -v \
--desc "ML utilities" \
--public \
--python 3.12 \
--license apache2
sync
Automated
nbdev_prepare,git commitandpush.
Use pj sync to update remote;
flag -m "commit message" (default: “save”).
pj sync -m "Add new feature"
kill
Stop all servers
pj kill will terminate all running Jupyter, nbdev, Quarto processes on
the host.
Why pj?
Purpose
Create a fully-configured GitHub + nbdev project with one command.
No manual setup, no forgotten steps. From zero to ready-to-code.
The Three Phases
- Checks - Validate prerequisites
- Setup - Create repo, nbdev structure, venv, kernel, direnv
- Sync - Prepare nbdev, commit, push
Design Principles
- Clean output: One line per operation
- Verbose mode: Show commands and boxed output with
-v - Fail fast: Stop on first error
- Sensible defaults: Private repos, log to
init.log, push immediately
Devs
If you are new to using nbdev here are some useful pointers to get you
started.
Install pj in Development mode
# make sure pj package is installed in development mode
pip install -e .
# make changes under nbs/ directory
# ...
# compile to have changes apply to pj
nbdev_prepare
Usage
Documentation
Documentation can be found hosted on this GitHub repository’s pages. Additionally you can find package manager specific guidelines on conda and pypi respectively.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pj_sh-0.0.2.tar.gz.
File metadata
- Download URL: pj_sh-0.0.2.tar.gz
- Upload date:
- Size: 16.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f524558bd0fdf81cb8c9023c0f5bea3806750521b93f41735145cb7cdca30b45
|
|
| MD5 |
dfdc2d118029c3d3b75d970122dbbe36
|
|
| BLAKE2b-256 |
b16b54e6de23c7104bc004b64a77c4e7f32af8b363305e4e6a4e5462ad6a0cf6
|
File details
Details for the file pj_sh-0.0.2-py3-none-any.whl.
File metadata
- Download URL: pj_sh-0.0.2-py3-none-any.whl
- Upload date:
- Size: 14.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
50552b804cda832a3708da0e30a81e95946d278cced21c47bb1613cbd545a4b4
|
|
| MD5 |
15e48fbe99c680825ac33ec912878737
|
|
| BLAKE2b-256 |
e0ad61608335169b200b0c8f6656e58ac340df4b2e64a92677758667980e49d4
|