Skip to main content

ProJect management toolkit

Project description

pj

Installation

Install latest from the GitHub repository:

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

or from pypi

$ uv tool install pj

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 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.

The Three Phases

  1. Checks - Validate prerequisites
  2. Setup - Create repo, nbdev structure, venv, kernel, direnv
  3. 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

pj_sh-0.0.1.tar.gz (16.0 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.1-py3-none-any.whl (14.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: pj_sh-0.0.1.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

Hashes for pj_sh-0.0.1.tar.gz
Algorithm Hash digest
SHA256 3bb8b957b487b1c3d44c20066983a3183a2a66190e1d6c9a43d76ef28a7358c6
MD5 1a52d47d9d68ff81342d1e10f5f87ee5
BLAKE2b-256 6d2f6ac7fc085fad90ee0517b87112d8a549bd0c6d9f56870988de305fc9c445

See more details on using hashes here.

File details

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

File metadata

  • Download URL: pj_sh-0.0.1-py3-none-any.whl
  • Upload date:
  • Size: 14.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c1871bbab411e38fbee95edd63c345d20858ceb626398351ace12d2b459775dc
MD5 8a12131a508462521f1c5dcfeb3c4485
BLAKE2b-256 863961a584261cb36de79839ee05f31344c721156f74071ac072b7a9cf35993b

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