Skip to main content

ProJect management toolkit

Project description

pj

PyPI PyPI - Downloads

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 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.2.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.2-py3-none-any.whl (14.3 kB view details)

Uploaded Python 3

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

Hashes for pj_sh-0.0.2.tar.gz
Algorithm Hash digest
SHA256 f524558bd0fdf81cb8c9023c0f5bea3806750521b93f41735145cb7cdca30b45
MD5 dfdc2d118029c3d3b75d970122dbbe36
BLAKE2b-256 b16b54e6de23c7104bc004b64a77c4e7f32af8b363305e4e6a4e5462ad6a0cf6

See more details on using hashes here.

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

Hashes for pj_sh-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 50552b804cda832a3708da0e30a81e95946d278cced21c47bb1613cbd545a4b4
MD5 15e48fbe99c680825ac33ec912878737
BLAKE2b-256 e0ad61608335169b200b0c8f6656e58ac340df4b2e64a92677758667980e49d4

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