Metadata-Version: 2.1
Name: janet
Version: 0.1.2
Summary: Janet: manage your python projects more efficiently
Home-page: https://github.com/veryprofessionalusername/janet
Author: Amr Ahmed
Author-email: amrahmed.business@gmail.com
License: UNKNOWN
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: GNU General Public License (GPL)
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: colorama
Requires-Dist: psutil
Requires-Dist: apscheduler
Requires-Dist: pyfiglet

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

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

```bash
pip install janet
```

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

```bash
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](readme_assets/images/janet_cli.png)

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](readme_assets/gifs/janet_in_action.gif)


---
**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](readme_assets/gifs/janet_autocompleting.gif)



## I am seeing this weird ```janetrecord.json```, WTH is that ?

When you initialize janet in your projet directory, it creates a ```janetrecord.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](readme_assets/images/janet_record.png)

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








