All Projects β†’ jnmclarty β†’ pyenvdiff-lib

jnmclarty / pyenvdiff-lib

Licence: other
Python environment comparison tool

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
Makefile
30231 projects

Projects that are alternatives of or similar to pyenvdiff-lib

bleeding-rez
Rez - Reproducible software environments for Windows, Linux and MacOS
Stars: ✭ 57 (+147.83%)
Mutual labels:  environment, management
Tutorialdb
A search πŸ”Ž engine for programming/dev tutorials, See it in action πŸ‘‰
Stars: ✭ 93 (+304.35%)
Mutual labels:  devtools, webapp
BootstraPHP
A Bootstrap wrapper for PHP
Stars: ✭ 24 (+4.35%)
Mutual labels:  devtools, webapp
shenv
Simple shell version management
Stars: ✭ 27 (+17.39%)
Mutual labels:  environment, management
Common Env
πŸ”‘ The only configuration library you will ever need
Stars: ✭ 67 (+191.3%)
Mutual labels:  environment, management
Pydockenv
Python virtual environment, but backed by Docker!
Stars: ✭ 463 (+1913.04%)
Mutual labels:  environment, virtualenv
Shadowsocks Hub
A web app managing shadowsocks users, servers, nodes, products, accounts, and traffic. Suitable for internal use by companies, organizations, and friends.
Stars: ✭ 118 (+413.04%)
Mutual labels:  management, webapp
workbench
A hierarchical environment manager for bash, written in bash.
Stars: ✭ 17 (-26.09%)
Mutual labels:  environment, virtualenv
micromamba-docker
Rapid builds of small Conda-based containers using micromamba.
Stars: ✭ 97 (+321.74%)
Mutual labels:  environment, conda
nanobox-rails
Quickly set up a Ruby on Rails app on Nanobox, the ideal platform for developers. With Nanobox, Rails app developers can set up instant, isolated development environments that can be shared among team members. Rails apps created using Nanobox can be automatically deployed to AWS, Azure, Google Cloud, and other cloud hosts without the need for de…
Stars: ✭ 19 (-17.39%)
Mutual labels:  devtools
restaurant-finder-featureReviews
Build a Flask web application to help users retrieve key restaurant information and feature-based reviews (generated by applying market-basket model – Apriori algorithm and NLP on user reviews).
Stars: ✭ 21 (-8.7%)
Mutual labels:  webapp
C-Sharp-Learning-Journey
Some of the projects i made when starting to learn c#, winfroms and wpf
Stars: ✭ 95 (+313.04%)
Mutual labels:  management
barmate
Modern and intuitive POS web application written with the Laravel framework
Stars: ✭ 13 (-43.48%)
Mutual labels:  management
portal
An api-driven, in-kernel layer 2/3 load balancer.
Stars: ✭ 101 (+339.13%)
Mutual labels:  devtools
daedalOS
Desktop environment in the browser.
Stars: ✭ 5,073 (+21956.52%)
Mutual labels:  environment
tibanna
Tibanna helps you run your genomic pipelines on Amazon cloud (AWS). It is used by the 4DN DCIC (4D Nucleome Data Coordination and Integration Center) to process data. Tibanna supports CWL/WDL (w/ docker), Snakemake (w/ conda) and custom Docker/shell command.
Stars: ✭ 61 (+165.22%)
Mutual labels:  conda
KeepSitecoreSimple
Advanced diagnostics techniques home
Stars: ✭ 41 (+78.26%)
Mutual labels:  diagnostics
testable appengine
A testable Python skeleton application for Google's App Engine and AppScale environments
Stars: ✭ 30 (+30.43%)
Mutual labels:  virtualenv
SSASDiag
No description or website provided.
Stars: ✭ 28 (+21.74%)
Mutual labels:  diagnostics
fastify-example
Example webapp with Fastify
Stars: ✭ 18 (-21.74%)
Mutual labels:  webapp

PyEnvDiff

https://travis-ci.org/jnmclarty/pyenvdiff-lib.svg?branch=master Documentation Status

Python environment comparison tool. Maximized for compatibility between versions 2.6 to 3.8, pypy, operating systems, distributions, and forks! Virtualenv, pyenv, pyvenv, conda and system!

via Command-Line

From the command line, to get information on the current environment:

python -m pyenvdiff.info

Serialize the information to a file...

python -m pyenvdiff.info my_environment.json

Switch to another environment (you'll need pyenvdiff installed in both)

python -m pyenvdiff.compare my_environment.json

Or compare two from any environment

python -m pyenvdiff.compare my_environment.json my_other_environment.json

via Hub-Based Compare

An HTTP-based service comes with pyenvdiff, all without dependencies (thanks to a copy of bottle). It stores environment information in RAM, for as long as it runs. This service should be considered alpha-stage.

To launch the built-in hub (server):

python -m pyenvdiff.hub

Then navigate in your browser to the URL it gives you to see the menu of available options. Before you send information about other environments on the same machine, your options will be limited to just viewing the server's environment.

Samples of the Hub Landing Page and the Environment Information Page illustrate the features.

From one or more other environments run:

python -m pyenvdiff.post_to_hub

A URL will be displayed to view environment information from any machine on the same network.

Navigate back to the base URL, you'll see more options to compare the two environments.

A Sample of the Environment Diff Page illustrate what the diff can do (if `ghdiff` is installed for the hub).

Programmatic Usage

>>> from pyenvdiff import Environment

>>> e = Environment()
>>> e.to_file('my_env.json')

>>> o = Environment.from_file('other_env.json')

>>> e == o
True

>>> print(e)
... # prints a dump of the environment details

>>> from pyenvdiff import EnvironmentDiff
>>> ed = EnvironmentDiff(e, o)
>>> print(ed)
... # prints a diff of the two environments

Sooo much room for activities!

  • Compare dev, test & prod!
  • Works on my machine, strange it doesn't work on yours
  • Confirming deployments
  • Auditing user desktops, servers, research environments & ecosystems
  • Filing (or requesting) bug reports

Installation

There are no mandatory, nor automatically installing, dependencies. There are optional dependencies which increase.

pip install pyenvdiff

OR just copy & paste pyenvdiff anywhere on PYTHONPATH

There is one optional dependency. The core functionality doesn't use it. It's only needed for pretty HTML-based comparisons via the web.

pip install ghdiff

Under the hood

  • Robust and organized object model collects and serializes environment information.
  • Zero dependency, pure-python, harmless install! Simply pip install pyenvdiff or copy anywhere on PYTHONPATH.
  • As-needed import statements, to maximize compatibility across python flavours.
  • Favours compatible python-code over succinct or newer-style python-code
  • Free software: BSD license
  • Documentation: https://pyenvdiff.readthedocs.io.

Credits

This package was started with Cookiecutter and the audreyr/cookiecutter-pypackage project template.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].