Skip to content

olekslitus/pylet

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyto

Python command tools

How setup looks

pyto new

Package name: pip
Version [0.1.0]: 

Build tool:
    [*] setuptools
    [ ] poetry
    [ ] flit
    
Security tools [black]: 

Test tools [pytest]:

Install

pipx install pyto
brew install pyto
pip install pyto
conda install pyto

Config

# pyproject.toml

[tool.pyto.build]
...

[tool.pyto.security]
...

CLI

❯ poetry run pyto          
Usage: pyto [OPTIONS] COMMAND [ARGS]...

  pyto - python command tools

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

Commands:
  add        Add new dependency
  adopt      Adopt the current setup of the package
  build      Build the project
  check      Perform static check of the target
  clean      Clean env from unused dependecies
  docs       Generate docs
  env        Create virtual evirment
  graph      Show dependecy graph of the project
  init       Initialize a new project in this directory
  install    Install all packages
  new        Create a new project in specified directory
  pin        Pin requirements
  publish    publish package
  run        Run scripts
  uninstall  Uninstall all packages

Python Ecosystem

Files

Filename Used by
pyproject.toml
setup.cfg
setup.py
requirements.txt
MANIFEST.in
Pipfile
Pipfile.lock
poetry.lock
.flake8
.bandit
tox.ini

Scaffold

Build

Publish

Dependecies

Environment

Static Checks

Type Checker

Security

Linting

Documentation

Test

Package Version

Python Versioning

Python Implementation

Read and Remove

Dev

https://click.palletsprojects.com/en/7.x/utils/ https://setuptools.readthedocs.io/en/latest/userguide/entry_point.html

Pyto abstracts over all tools you love to bring a uniform experince.

Pyto is a wrapper around other powerful tools that evolve and change, pyto in the same manner adapts to always use the most up-to-date convention by default.

Pyto can also be setup to used as simple project creation tool or something else. Pyto know about all of the best tools for python and tries to use them, if we do not have support for some awsome tools, please open an issue.

Inspired by cargo, raco and yeoman. Written in pure typed Python.

Whole Python ecosystem in one command line.

Even for simple projects we recommend using pyto as it structures all the code and makes sure all your project are consistent

Pyto works the same on all OS and has same commands.

Pyto always defaults to the newest PEPs to be shiny. But you can ovveride behavioyr using pyto.toml

You live before Python 3.6? Do not have pyproject.toml? No problem pyto can be used with any setup even distutils !

Info

Project Structure

Strcuture of your project is very personal thing, however, as we are not only charming, but also very opninated manager, we decided to enforce standart project structure. You are probably already familier with it, as a large number of Python project are using same or very similar structure. Our was highly influnced by the following:

https://docs.python-guide.org/writing/structure/ https://github.com/navdeep-G/samplemod

Todo

  • Have autometic resolution of things like setup.py and only create them for versions that require it.
  • Have generator declaration, so other can make other types of projects
  • Generate git
  • Generate .gitignore
  • Generate License

About

Proper Python Manager

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages