Package: idemenv
idemenv is an Idem binary installation and management tool, inspired bytfenvAboutidemenv allows users to easily install multiple idem binaries built with tiamat.
This is useful for switching between idem configuration code bases written for
different idem versions.idemenv is built as a POP application, which allows it to leverage other POP
plugins in the ecosystem or plug into other applications as necessary.What is POP?This project is built withpop, a Python-based
implementation ofPlugin Oriented Programming (POP). POP seeks to bring
together concepts and wisdom from the history of computing in new ways to solve
modern computing problems.For more information:Intro to Plugin Oriented Programming (POP)pop-awesomepop-createGetting StartedPrerequisitesPython 3.7+git(if installing from source, or contributing to the project)InstallationNoteIf wanting to contribute to the project, and setup your local development
environment, see theCONTRIBUTING.rstdocument in the source repository
for this project.If wanting to useidemenv, you can do so by either
installing from PyPI or from source.Install from PyPIpipinstallidemenvInstall from source# clone repogitclonegit@github.com/eitrtechnologies/idemenv.gitcdidemenv# Setup venvpython3-mvenv.venv--promptidemenvsource.venv/bin/activatepipinstall-e.Usageusage:run.py[-h][--configCONFIG][--config-template][--log-datefmtLOG_DATEFMT][--log-fileLOG_FILE][--log-fmt-consoleLOG_FMT_CONSOLE][--log-fmt-logfileLOG_FMT_LOGFILE][--log-handler-options[LOG_HANDLER_OPTIONS...]][--log-levelLOG_LEVEL][--log-pluginLOG_PLUGIN][--repo-urlREPO_URL][--idemenv-dirSALTENV_DIR][--version]{init,install,list,list-remote,pin,uninstall,use,version}...positionalarguments:{init,install,list,list-remote,pin,uninstall,use,version}options:-h,--helpshowthishelpmessageandexit--configCONFIG,-cCONFIGLoadextraoptionsfromaconfigurationfileontohub.OPT.idemenv--config-templateOutputaconfigtemplateforthiscommand--repo-urlREPO_URL,-rREPO_URLIdemsinglebinaryrepositorylocation.Versiondirectoriesareexpectedhere.--idemenv-dirIDEMENV_DIR,-dIDEMENV_DIRWorkingdirectoryforidemenvdownloads--versionDisplayversioninformationLoggingOptions:--log-datefmtLOG_DATEFMTThedateformattodisplayinthelogs--log-fileLOG_FILEThelocationofthelogfile--log-fmt-consoleLOG_FMT_CONSOLEThelogformattingusedintheconsole--log-fmt-logfileLOG_FMT_LOGFILETheformattobegiventologfilemessages--log-handler-options[LOG_HANDLER_OPTIONS...]kwargsthatshouldbepassedtothelogginghandlerusedbythelog_plugin--log-levelLOG_LEVELSettheloglevel,eitherquiet,info,warning,debugorerror--log-pluginLOG_PLUGINTheloggingplugintouseExamplesBasic idem binary setup:# Example CLI commands# List remote versions$idemenvlist-remote3004rc130043003.33003# Install latest version$idemenvinstalllatestProcessingtarball...# Use latest version$idemenvuselatest# List local versions$idemenvlist*3004setby/home/nmhughes/.idemenv/version3003.33003# Initialize the idemenv environment, which will point to the idem binaries$idemenvinitAddtheidemenvbindirectorytoyourPATH:echo'export PATH="$HOME/.idemenv/bin:$PATH"'>>~/.bashrcOR:echo'export PATH="$HOME/.idemenv/bin:$PATH"'>>~/.zshrc$echo'export PATH="$HOME/.idemenv/bin:$PATH"'>>~/.zshrc$source~/.zshrc# Kick the tires!$idemexectest.versionlocal:3004Common IssuesIf this error is encountered, you might be running on Arch and need to install thelibxcrypt-compatpackage.[230732] Error loading Python lib '/tmp/_MEIAEr7dd/libpython3.7m.so.1.0': dlopen: libcrypt.so.1: cannot open shared object file: No such file or directoryRoadmapReference theopen issuesfor a list of proposed features (and known issues).AcknowledgementsImg Shieldsfor making repository badges easy.