Package: litenv
litenvThis file will become your README and also the index of your
documentation.Developer GuideSetup# create conda environment$mambaenvcreate-fenv.yml# update conda environment$mambaenvupdate-nlitenv--fileenv.yml# $ mamba env update -n litenv --file env.mac.ymlInstallpipinstall-e.# install from pypipipinstalllitenvnbdev# activate conda environment$condaactivatelitenv# make sure the litenv package is installed in development mode$pipinstall-e.# make changes under nbs/ directory# ...# compile to have changes apply to the litenv package$nbdev_preparePublishing# publish to pypi$nbdev_pypi# publish to conda$nbdev_conda--build_args'-c conda-forge'UsageInstallationInstall latest from the GitHubrepository:$pipinstallgit+https://github.com/dsm-72/litenv.gitor fromconda$condainstall-cdsm-72litenvor frompypi$pipinstalllitenvDocumentationDocumentation can be found hosted on GitHubrepositorypages. Additionally you can find
package manager specific guidelines oncondaandpypirespectively.$litenv--helpOptionShort OptionTypeDescriptionDefault Value--name-nTEXTThe name of the environment you want to make.litenv--file-fTEXTThe YAML file to save the environment specifications to.env.yml--theme-tTEXTThe theme from which to style choices.blue_night--specification-file-sTEXTThe template file from which to generate choices./Users/solst/Projects/litenv/litenv/../data/litenv.yml--prefix-name-pPrefix the environment name to the YAML file.True--print-tree-rPrint the dependency tree.--conda-cUse conda to create the environment. Otherwise, use mamba.--make-env-mCreate the environment.--install-completionInstall completion for the current shell.--show-completionShow completion for the current shell, to copy it or customize the installation.--helpShow this message and exit.Specification FileOverviewThe application specification file is a YAML (YAML Ain’t Markup
Language) file that is used to specify various configurations for your
application. It defines the requirements and dependencies for your
application, allowing you to control the environment in which your
application will run. YAML is a human-readable data serialization
language that has become a standard for configuration files in software
development and deployment.Structure of the Specification FilepythonThepythonfield specifies the required Python version for the
application. For example:python:'>=3.10'This entry implies that the application requires a Python version of
3.10 or higher.channelsThis field specifies additional channels that might be needed for your
application. Channels in Python are paths where packages are stored and
can be accessed when needed. For example:channels:-pytorch-conda-forgeThis implies that packages for the application may be sourced from thepytorchorconda-forgechannels.categoriesThecategoriesfield contains several subfields defining different
groups of dependencies for your application.Each category has aname, acheckedfield (which may be set to true
or false, indicating whether this category should be checked by default
or not), adependenciesfield (which lists the specific packages
required in this category), and optionalsubcategories.Each dependency could optionally include attributes such aschannel,note,always,pypi_name,cuda_only,version,pip_onlyandno_arm_support.For example:categories:utils:name:'Utilities'checked:truedependencies:tqdm:always:truepyyaml:In this example, theutilscategory includes two dependencies,tqdmandpyyaml. Thealways: truefield fortqdmimplies that this
dependency should always be included when theutilscategory is
checked.acceleratorsTheacceleratorsfield specifies the type of hardware accelerator that
your application supports. This includes options like ‘mps’, ‘cpu’, or
‘cuda’.accelerators:-mps-cpu-cudaThis entry implies that the application can use either MPS, CPU, or CUDA
as the hardware accelerator.Creating a Specification FileCreating a specification file involves defining these fields and values
to suit your application’s needs. YAML’s indentation-based scoping and
simple syntax make this task straightforward. The values to be used
depend on the requirements of your specific application.For Python dependencies, you can often find the exact names and versions
you need by using the package management system (like pip or conda) or
by referring to the documentation of the library in question. For
hardware requirements, you will need to understand your application’s
performance needs and the capabilities of the hardware where the
application will be run.Remember to keep the file updated as the requirements of your
application evolve. Regular updates will ensure that your application
always has the resources it needs to run efficiently.