Skip to main content

Janet: manage your python projects more efficiently

Project description

Janet

Janet is a powerful python project manager that allows python developers to focus more on scripting and less on piping packages and managing a project. janet will auto-install pip packages when a .py file is saved and will generate a requirements.txt file automatically, it will also monitor all your scripts for new packages and install them in the background.

janet currently supports python 3

How do I use it?

To get started with janet, you need to install the package:

pip install janet

once installed, cd to your project directory and run the following:

python -m janet -p <PROJECT_PATH, default="current directory"> -s <SCRIPT>

the -s flag specifies which script to run when the run command is issued, this is useful if your project is a webserver. You can change the script that is run, this is discussed below in the "commands" section.

you will then be greeted with a menu of commands, that's it!

Janet CLI

you can now start working on your project, create new files, delete files, do whatever it is you want, janet will silently track your project and download dependecies silently once a file is saved.

Janet in action


NOTE

we recommand that you create your projects in a virtualenv and install janet on your virtualenv, it simplifies the scope of janet's tracking. future releases will hopefully not require this.


What can janet do?

janet has the following commands:

- 'run' to run the script you defined using the -s flag
- 'install <PACKAGE_1> <PACKAGE_2>' to manually install packages (yuck)
- 'change-entrypoint' to change the script 'run' will run
- 'kill' to kill run if things go run
- 'menu' to see all the commands you can run
- 'exit' to stop janet (she will still love you though)

oh, did we mention janet can autocomplete commands??

Janet autocompleting

I am seeing this weird jrecord.json, WTH is that ?

When you initialize janet in your project directory, it creates a jrecord.json file that stores the last time a file was modified, when a file is saved the last modified date will also change which will notify janet to check for new packages in the saved file. a janetrecord is meant to be a simple record janet could refer to when initialized, if it is not present then janet will create a new record automatically.

Janet record

Oh, and it will add it to your .gitignore automatically, janet's got you!

Wow, janet is truly perfect!

not reaaaaaalllly, janet is still work in progress and more features will be added soon, I welcome any contributions to this repo!

Janet still has some issues resolving some packages were the name of the imported module does not match the package name. Future versions will address this

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

janet-0.2.1.tar.gz (20.7 kB view details)

Uploaded Source

Built Distribution

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

janet-0.2.1-py3-none-any.whl (21.2 kB view details)

Uploaded Python 3

File details

Details for the file janet-0.2.1.tar.gz.

File metadata

  • Download URL: janet-0.2.1.tar.gz
  • Upload date:
  • Size: 20.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for janet-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e608a468687f5a1723077edd184728c81d56e72bfb5ead79bb6d875006098640
MD5 1f210b0e31ea60696e002dc1bf5c715d
BLAKE2b-256 7b9aab2141a0ddd77124d93829cc49980e4ad0be4c267f9545e135223840fe9f

See more details on using hashes here.

File details

Details for the file janet-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: janet-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 21.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.10

File hashes

Hashes for janet-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0cb1d8ea2c85cec20872a540fa7d5fabe4aba3bd1117e1e9019cd08d4e07e6a0
MD5 8c424346cc5d62a6a2a413db88575377
BLAKE2b-256 de86822f965618a5479ec4bb0ef584ef75fde07e60a9c51ce7925e8aa1e321f2

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