pynball

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

https://github.com/stephen-ra-king/pynball

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.8%) to scientific vocabulary

Keywords

python-environment python-version-management python-version-manager python-version-selector python-versions version-check virtualenv-manager

Keywords from Contributors

mesh molecular-dynamics-simulation hydrology regionalization yolov5 spacy-extension pipeline-testing energy-system exoplanet datacleaner
Last synced: 6 months ago · JSON representation ·

Repository

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

Basic Info
  • Host: GitHub
  • Owner: Stephen-RA-King
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 342 KB
Statistics
  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • Open Issues: 3
  • Releases: 19
Topics
python-environment python-version-management python-version-manager python-version-selector python-versions version-check virtualenv-manager
Created almost 4 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation Security Authors

README.md

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 <!-- OpenSSFScorecard -->

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:

sh pipx install pynball

Usage example


View Available commands

```sh 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

sh pynball versions D:\PYTHON\3.9.10 : --> System Interpreter WARNING: Pynball configuration is empty - use 'add' command

sh pynball add 3.8.10 D:\PYTHON\3.8.10 '3.8.10' Successfully added to configuration

sh pynball versions D:\PYTHON\3.9.10 : --> System Interpreter 3.8.10 D:\PYTHON\3.8.10 WARNING: System Interpreter is not in Pynball Configuration

Add all manually installed Python versions to the config

sh 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

sh pynball versions 3.10.4 D:\PYTHON\3.10.4 3.9.10 D:\PYTHON\3.9.10 : --> System Interpreter 3.8.10 D:\PYTHON\3.8.10 3.7.9 D:\PYTHON\3.7.9 3.6.8 D:\PYTHON\3.6.8 3.5.4 D:\PYTHON\3.5.4

Add pyenv Python versions (if any) to the config

sh 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:\PYTHON\3.10.4 3.10.2 C:\Users\conta\.pyenv\pyenv-win\versions\3.10.2 3.9.10 D:\PYTHON\3.9.10 : --> System Interpreter 3.8.10 D:\PYTHON\3.8.10 3.8.0 C:\Users\conta\.pyenv\pyenv-win\versions\3.8.0 3.7.9 D:\PYTHON\3.7.9 3.6.8 D:\PYTHON\3.6.8 3.5.4 D:\PYTHON\3.5.4 3.5.2 C:\Users\conta\.pyenv\pyenv-win\versions\3.5.2

sh pynball versions 3.10.4 D:\PYTHON\3.10.4 3.10.2 C:\Users\conta\.pyenv\pyenv-win\versions\3.10.2 3.9.10 D:\PYTHON\3.9.10 : --> System Interpreter 3.8.10 D:\PYTHON\3.8.10 3.8.0 C:\Users\conta\.pyenv\pyenv-win\versions\3.8.0 3.7.9 D:\PYTHON\3.7.9 3.6.8 D:\PYTHON\3.6.8 3.5.4 D:\PYTHON\3.5.4 3.5.2 C:\Users\conta\.pyenv\pyenv-win\versions\3.5.2

Create a virtual environment using a version in the config

sh pynball mkproject 3.8.10 hobgoblin

List all the virtual environments

sh 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

sh pynball system 3.6.8

sh pynball versions 3.10.4 D:\PYTHON\3.10.2 3.10.2 C:\Users\conta\.pyenv\pyenv-win\versions\3.10.2 3.9.10 D:\PYTHON\3.9.10 3.8.10 D:\PYTHON\3.8.10 3.8.0 C:\Users\conta\.pyenv\pyenv-win\versions\3.8.0 3.7.9 D:\PYTHON\3.7.9 3.6.8 D:\PYTHON\3.6.8 : --> System Interpreter 3.5.4 D:\PYTHON\3.5.4 3.5.2 C:\Users\conta\.pyenv\pyenv-win\versions\3.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

Owner

  • Name: Stephen King
  • Login: Stephen-RA-King
  • Kind: user
  • Location: Exeter, Devon, England

Software Engineer / Python Developer

Citation (CITATION.cff)

cff-version: 1.2.0
title: pynamer
message: >-
    If you use this software, please cite it using the
    metadata from this file.
type: software
authors:
    - given-names: Stephen
      family-names: King
      email: sking.github@gmail.com
      orcid: "https://orcid.org/0009-0001-1939-6012"
identifiers:
    - type: doi
      value: 10.5281/zenodo.7978982

GitHub Events

Total
  • Push event: 21
Last Year
  • Push event: 21

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 223
  • Total Committers: 3
  • Avg Commits per committer: 74.333
  • Development Distribution Score (DDS): 0.036
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Stephen-RA-King 3****g 215
pre-commit-ci[bot] 6****] 5
dependabot[bot] 4****] 3

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 0
  • Total pull requests: 34
  • Average time to close issues: N/A
  • Average time to close pull requests: about 1 month
  • Total issue authors: 0
  • Total pull request authors: 3
  • Average comments per issue: 0
  • Average comments per pull request: 0.76
  • Merged pull requests: 7
  • Bot issues: 0
  • Bot pull requests: 33
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
  • pre-commit-ci[bot] (18)
  • dependabot[bot] (18)
  • Stephen-RA-King (1)
Top Labels
Issue Labels
Pull Request Labels
dependencies (18)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 76 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 21
  • Total maintainers: 1
pypi.org: pynball

Utility command line tool to manage python versions and virtual environments

  • Versions: 21
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 76 Last month
Rankings
Dependent packages count: 7.4%
Average: 20.7%
Dependent repos count: 22.3%
Forks count: 22.8%
Stargazers count: 25.1%
Downloads: 25.8%
Maintainers (1)
Last synced: 6 months ago

Dependencies

docs/requirements.txt pypi
  • myst-nb *
  • sphinx-autoapi *
  • sphinx-rtd-theme *
requirements/base.in pypi
  • click *
requirements/base.txt pypi
  • click ==8.1.3
  • colorama ==0.4.4
requirements/development.in pypi
  • bandit * development
  • black * development
  • build * development
  • click * development
  • colorama * development
  • commitizen * development
  • coverage * development
  • coverage-conditional-plugin * development
  • flake8 * development
  • flake8-bandit * development
  • flake8-bugbear * development
  • flake8-comprehensions * development
  • flake8-docstrings * development
  • flake8-eradicate * development
  • flake8-pytest-style * development
  • flake8-simplify * development
  • flakeheaven * development
  • isort * development
  • jupyter * development
  • keyring * development
  • lxml * development
  • mypy * development
  • myst-nb * development
  • pep8-naming * development
  • pre-commit * development
  • pynacl * development
  • pytest * development
  • python-semantic-release * development
  • pyyaml * development
  • requests * development
  • safety * development
  • sphinx * development
  • sphinx-autoapi * development
  • sphinx-rtd-theme * development
  • tox * development
  • twine * development
  • types-requests * development
  • watchdog * development
requirements/development.txt pypi
  • 183 dependencies
requirements/production.txt pypi
  • click ==8.1.3
  • colorama ==0.4.4
requirements/requirements_tox.txt pypi
  • black *
  • click *
  • flake8 *
  • lxml *
  • mypy *
  • pytest *
  • pyyaml *
  • safety *
requirements/test.in pypi
  • pytest * test
requirements/test.txt pypi
  • atomicwrites ==1.4.0 test
  • attrs ==21.4.0 test
  • colorama ==0.4.4 test
  • iniconfig ==1.1.1 test
  • packaging ==21.3 test
  • pluggy ==1.0.0 test
  • py ==1.11.0 test
  • pyparsing ==3.0.9 test
  • pytest ==7.1.2 test
  • tomli ==2.0.1 test
.github/workflows/codeql-analysis.yml actions
  • actions/checkout v3 composite
  • github/codeql-action/analyze v2 composite
  • github/codeql-action/autobuild v2 composite
  • github/codeql-action/init v2 composite