Python package wiptools
Python project skeleton set up and management.
Quick start
Installation
> pip install [--user] wiptools
Create a skeleton for a new project foo
wip init foo, will ask you to supply a brief project description, a minimal Python
version and a documentation format. wip init will also ask you a few other items
the first time. If you did not choose a documentation format, you can add one later
with wip docs --md, e.g.
path/to/workspace > wip init foo
Project info needed:
Enter a short description for the project: [<project_short_description>]: a foo-lish project
Enter the minimal Python version [3.8]: 3.9
[[Expanding cookiecutter template `/Users/etijskens/software/dev/workspace/wiptools/wiptools/cookiecutters/project`...
]] (done Expanding cookiecutter template `/Users/etijskens/software/dev/workspace/wiptools/wiptools/cookiecutters/project`)
Add documentation templates? press
[enter] for no,
[m] for markdown format,
[r] for restructuredText format []: m
[[Expanding cookiecutter template `/Users/etijskens/software/dev/workspace/wiptools/wiptools/cookiecutters/project-doc-md`...
]] (done Expanding cookiecutter template `/Users/etijskens/software/dev/workspace/wiptools/wiptools/cookiecutters/project-doc-md`)
[[Adding documentation for components ...
]] (done Adding documentation for components )
[[Creating a local git repo...
[[Running `git init --initial-branch=main` in directory /Users/etijskens/software/dev/ws-wip/foo...
Initialized empty Git repository in /Users/etijskens/software/dev/ws-wip/foo/.git/
]] (done Running `git init --initial-branch=main` in directory /Users/etijskens/software/dev/ws-wip/foo)
[[Running `git add *` in directory /Users/etijskens/software/dev/ws-wip/foo...
]] (done Running `git add *` in directory /Users/etijskens/software/dev/ws-wip/foo)
[[Running `git add .gitignore` in directory /Users/etijskens/software/dev/ws-wip/foo...
]] (done Running `git add .gitignore` in directory /Users/etijskens/software/dev/ws-wip/foo)
[[Running `git commit -m "Initial commit from wip init foo"` in directory /Users/etijskens/software/dev/ws-wip/foo...
[main (root-commit) fca0133] Initial commit from wip init foo
11 files changed, 281 insertions(+)
create mode 100644 .gitignore
...
]] (done Running `git commit -m "Initial commit from wip init foo"` in directory
/Users/etijskens/software/dev/ws-wip/foo)
]] (done Creating a local git repo)
[[Creating a remote GitHub repo...
[[Running `gh auth login --with-token kwargs={'stdin': <_io.TextIOWrapper name='/Users/etijskens/.wiptools/etijskens.pat' mode='r' encoding='UTF-8'>, 'text': True}` in directory /Users/etijskens/software/dev/ws-wip/foo...
]] (done Running `gh auth login --with-token kwargs={'stdin': <_io.TextIOWrapper name='/Users/etijskens/.wiptools/etijskens.pat' mode='r' encoding='UTF-8'>, 'text': True}` in directory /Users/etijskens/software/dev/ws-wip/foo)
[[Running `gh repo create --source . --public --push` in directory /Users/etijskens/software/dev/ws-wip/foo...
✓ Created repository etijskens/foo on GitHub
✓ Added remote https://github.com/etijskens/foo.git
Enumerating objects: 17, done.
Counting objects: 100% (17/17), done.
Delta compression using up to 8 threads
Compressing objects: 100% (12/12), done.
Writing objects: 100% (17/17), 3.57 KiB | 1.19 MiB/s, done.
Total 17 (delta 0), reused 0 (delta 0), pack-reused 0
To https://github.com/etijskens/foo.git
* [new branch] HEAD -> main
branch 'main' set up to track 'origin/main'.
✓ Pushed commits to https://github.com/etijskens/foo.git
]] (done Running `gh repo create --source . --public --push` in directory /Users/etijskens/software/dev/ws-wip/foo)
]] (done Creating a remote GitHub repo)
path/to/workspace/foo
Listing project info
Cd into th project (cd foo) and use wip info:
path/to/foo > wip info
Project : foo
Version : 0.0.0
Package : foo
GitHub repo: "https://github.com/<your github username>/foo"
Home page : "https://<your github username>.github.io/foo"
Location : /Users/etijskens/software/dev/ws-wip/foo
Structure of Python package foo
foo [Python module]
└── __init__.py
Add components
You can add Python submodules (--py), C++ binary extension modules (--cpp) or
Modern Fortran binary extension modules (--f90), as well as CLIs with a single
command (--cli) or with subcommands(--clisub):
path/to/foo > wip add foo_py --py
path/to/foo > wip add foo_cpp --cpp
path/to/foo > wip add foo_f90 --f90
path/to/foo > wip add foo_cli --cli
path/to/foo > wip add foo_clisub --clisub
path/to/foo > wip info
Project : foofoo
Version : 0.0.0
Package : foofoo
GitHub repo: https://github.com/<your github username>/foo
Home page : https://<your github username>.github.io/foo
Location : /Users/etijskens/software/dev/workspace/wiptools/.test-workspace/foofoo
Structure of Python package foofoo
foofoo [Python module]
├── __init__.py
├── foo_cli [CLI]
│ └── __main__.py
├── foo_clisub [CLI]
│ └── __main__.py
├── foo_cpp [C++ binary extension module]
│ ├── foo_cpp.cpp
│ └── foo_cpp.md
├── foo_f90 [Modern Fortran binary extension module]
│ ├── foo_f90.f90
│ └── foo_f90.md
└── foo_py [Python module]
└── __init__.py
To build the binary extension modules
Links
Release files for wiptools 1.3.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| wiptools-1.3.2.tar.gz | 27.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| wiptools-1.3.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 71.8 kB
Release files / wiptools-1.3.2.tar.gz
| Download URL | wiptools-1.3.2.tar.gz |
|---|---|
| Size | 27.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5a80bb66064f0e960863ba9b37bbd8d897181cc06a9ae4825fcae39ae3bcb377
|
|
BLAKE2b-256 checksum How to use checksums |
7d99facf27022f9c9139e146130bcbfaab844c0580cc5eb2dd0bc471c7f4d1e3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.9.5 Darwin/22.5.0
|
Release files / wiptools-1.3.2-py3-none-any.whl
| Download URL | wiptools-1.3.2-py3-none-any.whl |
|---|---|
| Size | 44.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d755480cb129f466543b30afad4dcf04513b7e050c17bfc9ff49b42c201a3497
|
|
BLAKE2b-256 checksum How to use checksums |
6831a59dc9296faef2fa05b535a707881365befc3ae56e337c1ef2649b358613
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.5.1 CPython/3.9.5 Darwin/22.5.0
|