Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A command line tool to consolidate development with various versions of Python , pyenv and virtualenvwrapper

License

Notifications You must be signed in to change notification settings

Stephen-RA-King/pynball

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

231 Commits

Pynball

Centralized management and utilization of all your Python versions, installations and virtual environments.

PyPI Downloads Status Python Version tests Codecov CodeQl pre-commit.ci status readthedocs CodeFactor Codeclimate Imports: isort Code style: black Checked with mypy security: bandit Commitizen friendly Conventional Commits DeepSource license pydough

You may have a requirement for development on various versions of Python. Or you may have a mixture of installations including pyenv, custom installations, system installations etc. Pynball can make leveraging such environments a lot easier.

Features


  • Consolidates all Python installations including pyenv versions into a single management system.
  • Easily create Virtual Environments using any Python version.
  • Track which virtual environments have which Python versions and tox versions.
  • Quickly change the System interpreter

Pre Installation Requirements


Minimum Requirements

  1. Python 3.8+
  2. pipx
  3. Virtualenv (which has benefits over venv)
  4. Virtualenvwrapper

For Maximum Benefits additionally install the following:

  1. pyenv

Installation


OS X & Linux:

Will be supported in version 2

Windows:

pipx install pynball

Usage example


View Available commands

pynball
Usage: pynball [OPTIONS] COMMAND [ARGS]...
 Utility script to help manage development with various versions of Python in
 conjunction with Virtual Environments and optionally the pyenv module
Options:
 --help Show this message and exit.
Commands:
 add Adds a name / path of an installation of Python.
 addall Add all versions to the Pynball configuration.
 delete Deletes a name / path of an installation of Python.
 exportconf Creates a configuration file backup.
 importconf Creates a configuration from a file backup
 lsproject Displays all Virtual Environment projects (with versions: native, tox and pyenv)
 mkproject Creates a Virtual Environment from a specific Python version.
 mvproject Renames a Virtual Environment (optionally updates GitHub and git)
 pyenv Automatically include the pyenv versions in Pynball
 reset Deletes all names / paths
 rmproject Deletes a Virtual Environment.
 system Changes the system Python Interpreter version.
 version Display details about the system Python Interpreter.
 versions Lists the names / paths of the configured Python installations

Add a Python version to the config

pynball versions
D:\PYTHON3円.9.10 : --> System Interpreter
WARNING: Pynball configuration is empty - use 'add' command
pynball add 3.8.10 D:\PYTHON3円.8.10
'3.8.10' Successfully added to configuration
pynball versions
D:\PYTHON3円.9.10 : --> System Interpreter
3.8.10 D:\PYTHON3円.8.10
WARNING: System Interpreter is not in Pynball Configuration

Add all manually installed Python versions to the config

pynball addall
'3.10.4' Successfully added to configuration
'3.5.4' Successfully added to configuration
'3.6.8' Successfully added to configuration
'3.7.9' Successfully added to configuration
WARNING: '3.8.10' already added to configuration as '3.8.10'
'3.9.10' Successfully added to configuration
pynball versions
3.10.4 D:\PYTHON3円.10.4
3.9.10 D:\PYTHON3円.9.10 : --> System Interpreter
3.8.10 D:\PYTHON3円.8.10
3.7.9 D:\PYTHON3円.7.9
3.6.8 D:\PYTHON3円.6.8
3.5.4 D:\PYTHON3円.5.4

Add pyenv Python versions (if any) to the config

pynball pyenv -u
'3.10.2' Successfully added to configuration
'3.5.2' Successfully added to configuration
'3.8.0' Successfully added to configuration
3.10.4 D:\PYTHON3円.10.4
3.10.2 C:\Users\conta\.pyenv\pyenv-win\versions3円.10.2
3.9.10 D:\PYTHON3円.9.10 : --> System Interpreter
3.8.10 D:\PYTHON3円.8.10
3.8.0 C:\Users\conta\.pyenv\pyenv-win\versions3円.8.0
3.7.9 D:\PYTHON3円.7.9
3.6.8 D:\PYTHON3円.6.8
3.5.4 D:\PYTHON3円.5.4
3.5.2 C:\Users\conta\.pyenv\pyenv-win\versions3円.5.2
pynball versions
3.10.4 D:\PYTHON3円.10.4
3.10.2 C:\Users\conta\.pyenv\pyenv-win\versions3円.10.2
3.9.10 D:\PYTHON3円.9.10 : --> System Interpreter
3.8.10 D:\PYTHON3円.8.10
3.8.0 C:\Users\conta\.pyenv\pyenv-win\versions3円.8.0
3.7.9 D:\PYTHON3円.7.9
3.6.8 D:\PYTHON3円.6.8
3.5.4 D:\PYTHON3円.5.4
3.5.2 C:\Users\conta\.pyenv\pyenv-win\versions3円.5.2

Create a virtual environment using a version in the config

pynball mkproject 3.8.10 hobgoblin

List all the virtual environments

pynball lsproject
Project Name Native Version Pyenv Versions Tox Versions
============ ============== ============== ============
hobgoblin 3.8.10 - 3.8, 3.9, 3.10
organizer 3.9.10 - -
pizazz 3.9.10 - -
template 3.9.10 - -

Change system interpreter

pynball system 3.6.8
pynball versions
3.10.4 D:\PYTHON3円.10.2
3.10.2 C:\Users\conta\.pyenv\pyenv-win\versions3円.10.2
3.9.10 D:\PYTHON3円.9.10
3.8.10 D:\PYTHON3円.8.10
3.8.0 C:\Users\conta\.pyenv\pyenv-win\versions3円.8.0
3.7.9 D:\PYTHON3円.7.9
3.6.8 D:\PYTHON3円.6.8 : --> System Interpreter
3.5.4 D:\PYTHON3円.5.4
3.5.2 C:\Users\conta\.pyenv\pyenv-win\versions3円.5.2

For more information, please refer to the wiki

Documentation


Read the Docs

Wiki

Meta


Stephen R A King : sking.github@gmail.com

Distributed under the MIT license. See for more information.

Created with Cookiecutter template: pydough version 1.2.1

Digital object identifier: DOI

About

A command line tool to consolidate development with various versions of Python , pyenv and virtualenvwrapper

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

Languages

AltStyle によって変換されたページ (->オリジナル) /