Skip to main content

Devloper shell for easy startup...

Project description

A "dev-shell" for Python projects ;)

pytest codecov

This small project is intended to improve the start-up for collaborators.

The idea is to make the project setup as simple as possible. Just clone the sources and start a script and you're done ;)

Run Tests? Just start the script and call the "run test command".

The "dev-shell" is the base to create a CLI and a shell. It also

It also shows how to make a project bootstrap as simply as possible, e.g.:

~$ git clone https://github.com/jedie/dev-shell.git
~$ cd dev-shell
~/dev-shell$ ./dev-shell.py pytest

How it works

First start of the Python script ./dev-shell.py will bootstrap:

  • Generate a Python virtual environment (in short: venv)
  • Install poetry
  • Install project dependencies and the project himself

The output on first bootstrap start looks like:

~/dev-shell$ ./dev-shell.py
Create venv here: ~/dev-shell/.venv
Collecting pip
...
Successfully installed pip-21.0.1
Collecting poetry
...
Installing dependencies from lock file

Package operations: 31 installs, 1 update, 0 removals

...

Installing the current project: dev-shell (0.0.1alpha0)


Developer shell - dev_shell - v0.0.1alpha0


Documented commands (use 'help -v' for verbose/'help <topic>' for details):

Publish
=======
publish

Tests
=====
pytest

...

(dev_shell) quit
~/dev-shell$

The first bootstrap start takes a few seconds. Each later startup detects the existing virtualenv and is very fast:

~/dev-shell$ ./dev-shell.py

Developer shell - dev_shell - v0.0.1alpha0

(dev_shell)
~/dev-shell$ ./dev-shell.py --update

To update existing virtualenv, call with --update:

~/dev-shell$ ./dev-shell.py --update

Or just delete /.venv/ and start dev-shell.py ;)

compatibility

dev-shell version OS Python version
v0.0.1 Linux + MacOS + Windows 3.9, 3.8, 3.7

See also github test configuration: .github/workflows/test.yml

History

  • dev
    • TBC
  • v0.1.0 - 2021-03-22
    • Fix CI usage: Exit with correct return code if tests failed
    • Better "run as CLI" implementation via new run_cmd2_app()
    • Bugfix errors that only occur on Windows.
    • Simplify dev-shell.py boot script and fix raise error if ensurepip missing
  • v0.0.2 - 2021-03-19
    • refactor colorful shortcuts
    • display subprocess calls with separated colors
  • v0.0.1 - 2021-03-19
    • first "useable" version

Project links

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

dev-shell-0.1.0.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

dev_shell-0.1.0-py3-none-any.whl (22.7 kB view details)

Uploaded Python 3

File details

Details for the file dev-shell-0.1.0.tar.gz.

File metadata

  • Download URL: dev-shell-0.1.0.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.5

File hashes

Hashes for dev-shell-0.1.0.tar.gz
Algorithm Hash digest
SHA256 fa39867f90e0372990f8b25197f36d234e76bd008c3a9bc8988151009c35ba7b
MD5 2d022165ae8642418d9818911b52bc9d
BLAKE2b-256 fbc70d272c84002676ae909d302eae445d61113761e3492f0a78d0abdc5b0b8d

See more details on using hashes here.

Provenance

File details

Details for the file dev_shell-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dev_shell-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 22.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.8.5

File hashes

Hashes for dev_shell-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 240fec62f93116178a9dbf2b68eb2bd5040eea16d341cc7490bfc21da67f5a8c
MD5 29134fec7c7267c768ecc56e437ea494
BLAKE2b-256 7fb35228efe1fde733f1029d8a65455c677946d892bc5dd30dc3c1df58bd9dd5

See more details on using hashes here.

Provenance

Supported by

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