Package: vnm
vnm - Virtual eNvironment ManagerA half-assed Python virtual environment package manager.This tool simplifies management and installation of packages in self-containedvenvvirtual environments.  Think of it likecomposer,yarn, or similar,
but for Python 3.With this tool, developers don't have to usevenvandpipdirectly to
configure their environment for a self-contained program, and the tool uses a
simple YAML configuration file.[[TOC]]InstallationPrerequisites:Python >= 3.6pip (usually bundled with Python)venv (usually bundled with Python)setuptools (usually bundled with Python)wheel - This may be included with pip or on some distros of Linux.gitsudo (Linux only)Note:In the below examples, replace python3 and pip3 with the Python you plan to use.
For example, if you're on Windows, you might use justpythonandpip, and don't needsudo.SimpleLinux# This may be needed on (K|X)Ubuntu:sudopython3install--force-reinstallwheel# Install venom with pipsudopip3installvnmWindowspip3 install vnmMessy# This may be needed on (K|X)Ubuntu:sudopython3install--force-reinstallwheel# Clone from gitlabgitclonehttps://gitlab.com/N3X15/vnm.gitvnm# Change Directory: vnmcdvnm# Install to OSsudopythonsetup.pyinstallUsage# Set up an empty venv environment and an empty vnm.ymlvnminit# Activate venv environment (changes shell variables and stuff)vnmactivate# Add and install packages toml, requests, and pyyaml (version greater than or equal to 5.2)# (same general spec syntax as pip)vnmaddtomlrequests"pyyaml>=5.2"# Install all packages, as defined in vnm.ymlvnminstall# Upgrade all packages to newest version, restricting to the constraints in vnm.yml.vnmupgradeExample YAMLversion:4options:# generates setup.cfg using /package-infogenerate-setup:true# generates requirements.txt and requirements.dev.txtgenerate-requirements:truepackage-info:metadata:name:ChanManBotversion:2021.4.1license:MITauthor:Rob "N3X15" Nelsonauthor-email:nexisentertainment@gmail.comdescription:API- and screen-scraping archival bot, for use with chans. Used together with ChanManWeb.long-description:'file:README.md'# Pulls from README.mdlong-description-content-type:text/markdownoptions:packages:'find:'# Equivalent to setuptools.find_packages()entry-points:console-scripts:-vnm = vnm.__main__:mainpackages:beautifulsoup4:{}cfscrape:{}chardet:{}Jinja2:{}lxml:{}mysqlclient:{}Pillow:{}psutil:{}pygit2:{}pyparsing:{}pyswagger:{}python-json-logger:{}pyyaml:{}pyzmq:{}requests:{}sqlalchemy:{}toml:{}tqdm:{}Twisted:{}deluge-client:repo:type:gituri:https://github.com/JohnDoee/deluge-client.gitbranch:developdev-packages:pybuildtools:{}Naming and HistoryThe name of this tool was originally going to be calledhyss, but it turns out
that there's a game by that name on Steam.  Then I briefly triedsnek, but
that was in use by another project on pypi.The current name is unlikely to be copyrighted, and is short and succinct, and
according to Google, has no uses outside of unrelated academic articles.vnmwas originally designed to make management of chanman-bot dependencies
easier, but it ended up being useful in other projects, as well.Caveatsvnmis still in development.  You are welcome to use it, but it may have issues.vnmcurrently doesn't support any VCS systems other than git, for the simple
reason that I haven't needed them. Please file a bug if you need another VCS,
like svn or mercurial.When activating the environment (vnm activate), a child shell is launched,
since a child process (vnm) cannot affect the parent process (the shell
launchingvnm), but that childcanaffectitschildren. Currently, the
launched shell is/bin/bashon Linux andcmd.exeon Windows. A mechanism for
changing the shell is in the works. Support for wrappers, likemosh, is unlikely.