Skip to main content

project shell > hyperspace velocity

Project description

pj

GitHub stars PyPI version Python 3.9+ License

pj, the project shell, has four commands:
pj init creates the entire nbdev project infrastructure and pushes to GitHub,
pj sync runs nbdev_prepare then commits and pushes,
pj ship bumps up GitHub version and releases to PyPI.org,
pj kill stops background processes.
That’s it.

Install

Install from PyPI, ideally with uv:

$ uv tool install pj-sh

or latest from the GitHub repository:

$ uv tool install git+https://github.com/kitled/pj.git

Usage

pj init my-project  # start
pj sync             # work
pj kill             # end

Create complete nbdev project with pj init: GitHub repository, virtual environment, registered Jupyter kernel, direnv activation, dark theme toggle, initial commit pushed.

Subsequent pj sync runs the full export-test-clean-add-commit-push workflow in one invocation.

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

Everything is logged to init.log by default; use -v flag to see stdin/out.

sync

Automated nbdev_prepare, git commit and push.

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.

  1. Checks - Validate prerequisites
  2. Setup - Create repo, nbdev structure, venv, kernel, direnv
  3. Sync - Prepare nbdev, commit, push

Features

  • 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
uv pip install -e .

# make changes under nbs/ directory
# ...

# compile to have changes apply to pj
nbdev_prepare

Documentation

Documentation can be found hosted on this GitHub repository’s pages.
Additionally you can find package manager specific guidelines on pypi.

See also: - uv - nbdev -

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

pj_sh-0.0.5.tar.gz (19.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pj_sh-0.0.5-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file pj_sh-0.0.5.tar.gz.

File metadata

  • Download URL: pj_sh-0.0.5.tar.gz
  • Upload date:
  • Size: 19.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pj_sh-0.0.5.tar.gz
Algorithm Hash digest
SHA256 3aedb1bef4ee8f7b6174709f53bf8bc0b9606fdc5343668e004027078d5577fb
MD5 2733cd2088b2283a5ec252874aac31ed
BLAKE2b-256 c0d2ac335f5fd515ef9a7b59fc24cfdd75b13694dc8353e6cc216d3e78626350

See more details on using hashes here.

File details

Details for the file pj_sh-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: pj_sh-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pj_sh-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 dfbac8c599d70ec14b6764998b206b6efd078cf6234d8a057a56f4c7cd88c965
MD5 43a27cc2de48d33243b8fb3cdd77b4ff
BLAKE2b-256 e5c7f19c98fa52c575dcc134952aa6bbfd7bdc42186270f55beb589a9d7799d5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page