1.x.x¶
1.10.1 (2018-12-19)¶
Enhancements¶
While running an application bundle, EDM no longer locks the EDM root. This allows other EDM commands to be performed while the application is still running (#1850).
License information for the libraries used by EDM is now included in the text printed by
edm license
. The license text is also now included in aLICENSE
file installed along with EDM (#1866).
Documentation¶
Update the installer documentation (#1838).
Add documentation about updating the
bundle_repositories
configuration option in order to find application bundles in repositories other thanenthought/free
(#1858).Updated note about uninstalling the old version before installing EDM (#1847).
Added documentation about EDM’s locking and read-only behaviors (#1630).
Fixed sample command line for installing EDM with
msiexec
(#1860).
Command line interface changes¶
Refactored the
bundle generate
command so it uses the global--config
and--api-token
options instead of having its own version. Consequently, if you were using EDM with those options afterbundle generate
on the command line then you should move those options to be before thebundle generate
part of the command line (#1852)
Bug fixes¶
Fix error message when searching for an EDM application which is not found (#1856).
Internals¶
Fixed invalid escape sequences identified by flake8 (#1867).
Updated EDM to use the newest version of the
attrs
package (#1870).
1.10.0 (2018-09-05)¶
Enhancements¶
A new
application
command group has been added to support downloading, installing and removing applications (#1808, #1805, #1783, #1806, #1754).A new
bundle
command group has been added to support basic bundle creation operations (#1746).Support creating EDM bundles from a list of requirements, using the
bundle generate
command (#1619).Update Windows MSI installer to add support for non-admin user installs (#1609, #1827, #1830, #1836).
Sign Windows MSI installers (#1784).
New command group alias
env/environment
for theenvironments
command group.The hatcher library version is now visible in the
edm info
report (#1800).The new
bundle_repositories
configuration option is now visible in theedm info
report (#1799).
Documentation¶
Document the different ways to execute scripts in EDM environments (#1723).
Document the new
application
command group (#1810).Update information on the
shell
configuration option.
Bug fixes¶
Better error message when the
--config
option is used with an embedded EDM (#1705).Better error reporting when the runtime post install stage fails (#1639).
edm envs export
andedm freeze
would not always detect the currently activated environment (#1722).Bundle modifiers were written out in arbitrary and changing order (#1721).
Do not create an invalid enpkg entry point (#1694, #1692).
Internals¶
Updated hatcher version (0.12.0).
Use EDS v1 API entry points throughout the codebase.
Support running the EDM tests inside an EDM environment.
What’s new¶
Bundles¶
In the past, an EDM bundle could only be created by exporting an existing environment. A bundle specifies a specific Python version and a collection of packages and their versions that are installed in the exported environment. This facilitates recreating an exact duplicate of the environment. The downside of creating bundles like this is that they are tied to the platform and can only be used to create a new environment on the same platform.
With the addition of the new bundle generate
command, it is now possible to
create a bundle that targets a platform other than the one used to create the
bundle file. It does not use an existing environment to determine the packages
to be included in the bundle. Instead, the requirements are specified on the
command line.
Applications¶
EDM now has the ability to create and manage complete “applications”, which are
basically normal EDM bundles which also include the Enthought Application
Manager (EAM) package, and which can define an icon to be used to create a
launcher for the application. When the application is installed a normal EDM
Python environment is created, and the launcher icon uses EDM to launch the
application. The EDM application
command group can also be used from the
command-line to start, install, remove, or search for applications on the
Enthought Deployment Server (EDS).
1.9.2 (2018-03-19)¶
This release fixes a bug which could incorrectly remove a lock file, and thus potentially allow corruption of a Python environment by simultaneous inconsistent maintenance actions. It is recommended for all users to upgrade.
Enhancements¶
edm info
will show the read/write state of the EDM root and the Python bit architecture of the EDM executable (#1687, #1662).
Bug fixes¶
Fix the stale lock validation code to correctly handle timezones (#1712).
1.9.1 (2018-01-23)¶
This bugfix release brings a few fixes for EDM, but most importantly enables automatic stale access lock detection, a feature that was accidentally disabled in 1.9.0. It is recommended for all users to upgrade.
Bug fixes¶
The automatic removal of stale access lock was not activated (#1677).
Handle special case where access lock file is empty (#1679).
Internal¶
Handle reading aborted Remove transaction records from the environment transaction database for which there is no package version (#1672).
1.9.0 (2017-12-19)¶
Enhancements¶
Windows 32-bit installers (#1661).
environments create
accepts a –abi option to filter the available runtimes (#1603).EDM can now detect a stale access lock and automatically remove it, eliminating the need for manual cleanup (#1640).
repack-wheel
command now supports the scripts prefix scheme of the Wheels 1.0 specification, meaning that most wheels should now be repackable as enthought eggs, compatible with EDM’s dependency-resolution system (#1633).mark-read-only
andmark-read-write
are idempotent, removing unnecessary error messages when they are used redundantly (#1622).EDM settings now support the
ca_certificates
option to provide alternative certificate bundles (#1590).
Bug fixes¶
Update README (#1604).
Remove unnecessary reporting of installation errors that succeed when retried (#1589).
Miscellaneous documentation fixes (#1634).
Fix issue on OSX installations where /url/local/bin does not exist yet (#1611).
EDM will not create a new environment if the specific package requirements cannot be met so that the command can be retried with only removing the missing package (#1599).
Internals¶
Updated okonomiyaki version (0.17.3)
Better testing of the samefile function (#621).
1.8.3 (2017-10-27)¶
Bugfix release of edm
Enhancements¶
edm repack commands support –extract-dependencies to automate dependency extraction from the package being repacked (#1614)
improved documentation for repack commands and package dependency management (#1613)
edm environments list will now show the abi (#1605)
Bug fixes¶
Fix InvalidSettings exception when using repository names with hyphen (#1594)
Fix typo in installer text (#1607)
Improved error message when export fails due to cache issue (#1612)
Internals¶
Updated setuptools version (36.6)
1.8.2 (2017-07-26)¶
Bugfix release of edm version 1.8.2
Bug fixes¶
Update requests and urrlib3 to the latest releases (#1574)
CalledProcessError when repacking egg (#1566)
Fix error handling in data bundle sh installer (#1571)
1.8.0 (2017-07-13)¶
This minor release brings the usual set of bug fixes and improvements. It is recommended for all users to upgrade.
Highlights¶
support for read-only environments has been added, allowing Administrator-controlled environments to be shared by multiple users, while still allowing users access to basic read-only commands like
edm environments list
andedm list
.support for repacking wheels to Enthought-format eggs using the
edm repack-wheel
command.
Enhancements¶
add a new
edm list-available
command to list packages available to be installed (#1265).add support for using some EDM commands in read-only environments (#1302)
add option to select a destination directory for
edm repack-egg
results (#1512).add environment platform to output of
edm environmentss list
(#1537).add a new
edm repack-wheel
command to repack a wheel into an Enthought egg (#1548).
Doc¶
add documentation for
bundles
(#1462).
Bug fixes¶
allow removing petrified environments by providing the
--purge
flag toedm envs remove
(#1246).package repository indexes are no longer fetched when not needed (#1300).
the
edm remove
command no longer suggests to install an environment (#1481).fix
edm environments create --force
to force-remove the old environment if necessary (#1524).fix the
sh
linux installer exit code on successful install (#1525).bypass the packages cache for packages with file names that are too long for Windows (#1544).
Internals¶
add internal support for retrying package and runtime installation when installing bundles (#1553).
add a new
EnvironmentsManager.can_create_environment
method (#1486).fix retrying I/O functions that use recursive calls (1555).
refactor session handling for performance improvements when no network access is required (#1545).
1.7.1 (2017-06-14)¶
This micro release fixes binary installers. It is otherwise functionally equivalent to 1.7.0
Bug fixes¶
update setup.py to uses attrs >= 17.1.x and okonomiyaki >= 0.16.10 (#1515).
1.7.0 (2017-06-08)¶
This minor release brings the usual set of bug fixes and improvements. It is recommended for all users to upgrade.
Highlights¶
package installation and removal can now be interrupted without corrupting the environment. If for any reason package installation/removal is interrupted, the user can attempt to fix it by using the fix-broken command.
Enhancements¶
make single package install/removal more robust to interruption (#1125)
allow overriding http max retries from the CLI. (#1477)
avoid creating superflous processes on unix when running edm at the CLI (#1508)
add runtime version and package count to edm envs list (#1503)
Doc¶
update help text from using rh5 examples to rh6 (#1461)
Bug fixes¶
handle entry points of the form ‘package.module:Class.method’ (#1449)
fix whats-new command. (#1497)
Internals¶
Refactor EggArchive to compute (source, target) pairs explicitly (#856)
environment commands do not really use EnvironmentsManager.purge (#1382)
update static python used on Unix, to fix pyexpat import error. (#1472)
fix edm to work w/ attrs 17.x. (#1480)
use a short temporary directory. (#1482)
don’t use shutil.copytree, it is an evil function (#1494)
idempotent runtime install (#1502)
idempotent runtime remove (#1506)
1.6.1 (2017-05-12)¶
This micro release fixes an issue on MacOS and Linux for the command repack-egg.
Bug fixes¶
update the static python used on Linux and MacOS, to fix pyexpat import error (#1473)
1.6.0 (2017-05-02)¶
This minor release brings the usual set of bug fixes and improvements. It is recommended for all users to upgrade.
Highlights¶
Linux environments now default to rh6-x86_64¶
By default, any EDM command creating a new environment will now default to the
rh6-x86_64
platform on Linux. This does not change existing environments, and
you can of course still create rh5-x86_64
environments through the
--platform
option:
$ edm install pandas --platform rh5-x86_64
Bundle format 2.0¶
The old 1.0 format was tracking repositories “globally”, whereas the new format tracks the repository for each asset (packages and runtime). The new format also stores the sha256 for each asset, to ensure the assets are exactly the same in the imported environment. To create 2.0 bundles:
# Export the foo environment as a 2.0 into the my-env.json file
$ edm envs export -m 2.0 -f my-env.json foo
Note
To create bundle 2.0, the environment has to be created from EDM 1.5.2 or above, and the data cache needs to be cleaned up:
$ edm cache purge --all --extracted-only
Data bundles¶
This new format allows creating data bundles, which are essentially zipfiles containing both the bundle metadata and all assets required to re-create the environment. Hence, these bundle files can be used to create EDM environments on disconnected machines:
$ edm envs export -f bundle.zip --include-assets <env name>
# Now copy this bundle.zip file on the target machine where you want to
# re-create the environment. This works even if the target machine does
# not have internet access.
$ edm envs import -f bundle.zip <env name>
Better .sh installers (OS X and Linux only)¶
The .sh installers have been improved. They now prevent overriding target directories by mistake, and can optionally contain a data bundle so that custom EPD-like .sh installers can be created.
Enhancements¶
On linux and macOS, EPD-like installers are now possible (#1202)
Improve failure behavior when creating environments. (#1206)
Minor improvements to edm shell error message (#1212)
Improve bundle format to guarantee reproducibility, aka bundle format 2.0 (#1224)
Include column header in
available-runtimes
(#1231)Make release notes publicly available (#1237)
Update readme to reflect removal of edm entrypoint. (#1240)
DOC: clarify inline help around environment creation (#1248)
Flags to override defaults to
edm search
(#1249)edm whats-new
should list the repository source (#1253)edm export
does not requires a connection anymore (#1260)--insecure
can be configured in the configuration file (#1295)Add an
exists
sub-command toenvironments
(#1323)Store the repository and sha256 of the installed runtime (#1371)
edm shell kind can now be controlled from an environment variable (#1393)
Add environment-variables topic help. (#1446)
Linux environments now defaults to rh6. (#1451)
Bug fixes¶
msiexec now install EDM into (64-bit) Program Files (#1183)
edm should not add packages to the manual package list if the install goes wrong (#1262)
Unable to parse requirement on export (#1297)
Don’t look at
.
directories in pkg-metadata (#1298)edm bundle export/import doesen’t respect order of installation (#1307)
edm run
fails for some commands on windows cmd shell (#1308)In CMD/PowerShell, some error messages use bold red, some use dark red. (#1311)
Post install scripts that use other packages may fail importing (#1344)
Key Error in
edm history
(#1363)Unexpected error: InvalidConstraint(“‘7z == 9.20-2’ (bad distirbution name)”,) (#1366)
Always disable urllib3 warning when verify_ssl is False. (#1408)
Internals¶
Avoid unnecessary builds on appveyor. (#1351)
Pass args from top edm.__main__ function for canopy. (#1359)
Object model for environment bundles (#1360)
Add tags to the travis-ci branch whitelist. (#1361)
PackagesManager instances can now be created without a session (#1388)
Only create a session for data bundle export when necessary (#1402)
Increase windows fs operations retry timeout (#1403)
Update attrs in setup.py (#1423)
Use more recent version of attrs for frozen support. (#1424)
0.x.x¶
Version 0.8.0¶
This is EDM 0.8.0. This version is intended to be the first release candidate toward 1.0. All critical features and bugs should be addressed in this release.
The public API (as available in edm.api) is considered stable, and will not change unless critical issues are found before 1.0.
Highlights¶
This release brings the following new features:
Egg and runtime cache management, including viewing the cache contents and removing some or all of the cached files.
Optionally add EDM installation folder to PATH when using MSI
Automatically install pip and setuptools into new environments
Expanded documentation and logging
Enhancements¶
Implement basic logging (#309)
handle migration from existing user environment w/ e.g. EPD installed (#403)
Improve descriptions and help messages for some error modes (#411)
Write a cache manager for managing eggs (#722)
Validate repository names in .edm.yaml (#736)
Better message if package has no dependencies (#745)
Do not copy auth information when converting from .enstaller4rc to .edm.yaml (#752, #915)
Constraint modifier flags should accept multiple package names as arguments (#760)
User notifications about authentication (#772)
Implement aliasing system for click commands (#785)
Suggest alternatives for misspelled packages (#807)
Customize MSI to offer to add the EDM installation folder to PATH (#819)
Cache extracted runtimes (#823)
Lazy execution for environment import (#829)
Improve inconsistent requirement error message on failed environment import (#830)
Documentation for environment import/export (#835)
Ensure we remove .pyc when removing runtimes and packages (#844)
publish .sh installers on enstaller-assets (#851)
Add short_help topics to CLI commands to avoid help topics display ugliness (#853)
Fail when trying to export an environment with inconsistent requirements (#911)
Documentation for install REQUIREMENTS parameter (#916)
Add –force option to environment creation (#959)
Document what constraint modifiers are and how to use them (#961)
By default, add pip and setuptools to new environments (#963)
Enable edm search without an environment (#969)
Don’t display plaintext auth warning when running EDM in embedded mode (#998)
Document advanced usage options (#1008, #1010)
Improve robustness after interrupted/incomplete operations (#1026, #1028)
Internals¶
Refactor repository_factory tests (#322)
Sign the .pkg on OS X (#349)
Fix root directory access tests on windows (#524)
Use the event system for communicating lock retries / timeouts (#574)
Refactor indices in test code (#601)
Remove tests for handling simple auth tuples returned by edm.cli.credentials.CredentialsPrompter (#778)
Move package manager and egg creation utility to base test class (#803)
Use edm.utils.json_validator for edm.settings.Settings (#828)
Create environment_info-like object from uninstalled runtime metadata for lazy runtime installation (#860)
Use YAML for environment import/export (#873)
Refactor: rename env import/export (#884)
Refactor: use PackagesManagerTestMixin to mock indices (#892)
Bug fixes¶
Do not show obsolete packages when doing search (#297)
Clean up directory when environment is removed using CLI (#377, #422)
install and update should mark the corresponding requirements to manual (#658)
Fix pypi repo usage detection. (#730)
install and update should update constraint modifiers database (#743)
Fix git failure when installing from README directions (#753)
Do not print Installing/removing packages when doing nothing (#765)
update pkg can end up downgrading pkg (#782)
Executable binaries seem to have lost executable permission (#878)
Workaround windows fs in rm_rf (#879)
edm freeze no longer outputs compatible requirements (#880)
Multiple –allow-newer fail silently (#882)
Python interpreter header contains references to old app name (#886)
Search results are not properly aligned (#890)
Few issues with edm shell command (#900)
Unfriendly error for invalid yaml in config file (#904)
Bad default filtre when using –implementation pypy (#905)
Wrong shebang in pip-installed packages (#935)
don’t prune egg-info anymore, as this creates broken eggs. (#952)
Cleanly uninstall packages with symbolic links to directories (#1017)
Version 0.7.0¶
This is EDM 0.7.0. This version is intended to be the first alpha toward 1.0: it is feature complete, but it may still contain critical bugs, and is not recommended for production use yet.
The public API (as available in edm.api) is also considered stable, and will not change unless critical issues are found before 1.0.
Highlights¶
Note: this release changes the on-disk format for environments. ENVIRONMENTS CREATED WITH 0.6.0 OR BELOW ARE INCOMPATIBLE WITH ENVIRONMENTS CREATED WITH 0.7.0. We intend to keep the on-disk format compatible throughout the 0.x (from 0.7.0) and 1.x series.
This release brings the following new features:
package is officially renamed to the Enthought Deployment Manager, aka EDM
update and update-all commands get a new set of flags –deps and –latest, and gives more reliable answers.
extracted eggs are cached, making eggs installation up 2.5x faster in some cases.
cached assets such as eggs and runtimes are now safe to share across platforms, as they are stored by checksum. In particular, caching both 32 and 64 bits eggs on windows is safe.
environments can now be exported and re-imported into a different machine.
EDM can now run without authentication (giving same access than free users)
EDM can run in so-called embedded mode, when integrated in a larger application (such as canopy). In embedded mode, the embedding application controls the settings and root directory for EDM.
Enhancements¶
edm shell should use running shell on windows (#58)
EDM should be able to run without auth setup (#325)
verify request validity before downloading index. (#328)
nested shells calls don’t nest $PATH anymore (#402)
show where packages came from in edm list (#458)
improve invalid settings error messages (#483)
give meaningful error message when enstaller is installed explicitly or implicitly (#487)
new command edm path -e <environment name> to return the plain root path of the env (#504)
environment persistance for modifiers (#509)
lockfile notification should indicate that global.lock is directory (#645)
revisit wording of message displayed to user when constraints are listed (#652)
use checksum to determine egg caching location (#672)
update can result in unexpected new solver solutions (#674)
cache extracted eggs to make installation faster (#697)
update the user agent string (#716)
add a canary in our dummy egginst/enstaller to detect actual enstaller installed (#720)
fix available handling (#724)
remove associated constraints when packages are uninstalled (#732)
update comment line in edm.yaml file for cached egg location (#744)
it should be possible to add constraint modifiers using edm constraints (#755)
tweak wording when creating new subshell (#761)
with the new egg scheme, fetch should not re-compute checksum if the egg is already there (#784)
rename mark-show command to list-manual (#795)
use “packages” instead of “requirements” w.r.t. constraint modifiers (#797)
environment export (#802)
execute command context even if there are no changes (#804)
MSI no longer adds installation folder to PATH. (#818)
handle unavailable repositories (#821)
better error message when settings can’t be validated. (#834)
add some settings examples in edm help configuration. (#838)
edm help prints help message when invoked without arguments (#842)
Internals¶
add appveyor support (#9)
specify and update the metadata for installed packages (#570)
cleanup OSError/IOError handling (#575)
use monotonic timers when measuring durations (#576)
installing egg should write the full content of EggMetadata version 1.4 (#618)
make setup_dummy_environment return the environment_info instead of prefix (#640)
polish internal update API (#657)
update message implies downgrade for packages which do not change versions (#664)
remove egginst imports (#679)
remove edm.network.fetcher.Fetcher (#701)
rename edm.network.fetcher to edm.network.asset_fetcher (#721)
unix binaries use new python static w/ statically linked ctypes. (#766)
remove UI to inject simple style auth into config file (#777)
Bug fixes¶
no-op updates can appear in install plans. (#320)
packages Manager seems not to honor Transactions (#413)
graceful handling of ctrl+c (#455)
fix python tag settings bug (#619)
if enstaller is installed in an env, new package installs fail with a KeyError (#694)
confusing error message when a user does not have access to a repository (#707)
windows installer adds invalid entry to System’s PATH (#734)
windows EDM installed to C:Enthoughtedm by default (#735)
don’t mention obsolete ‘{PLATFORM}’ feature of files_cache. (#750)
clearer message when no environment is specified. (#781)
failing tests when not using bash (#800)
crash when removing non-python environments (#826)
bypass Windows ExecutionPolicy settings. (#815)
remove symlinks when removing environment (#840)
edm help works with invalid configuration (#843)
Version 0.6.0¶
Highlights¶
This release brings the following new features:
better and more fine-grained update/update-all behaviour
persistent constraint modifiers to workaround broken dependencies
new shell-based installers on linux and OS X
rudimentary protection around concurrent access to prevent two EDM instances to corrupt a root directory
EDM also starts to expose a public, documented API.
Internally, EDM is finally 100 % free of any enstaller/egginst code at runtime.
Enhancements¶
Default runtime version is now implementation specific in commands implying runtime installation (#211)
configure does not validate the token when input directly (#236)
Add a config topic to the help (#318)
EDM is now more robust against checksum failures (#375)
Improve update-all (#404)
One should mark updates as downgrade when relevant in our command messages (#418)
Report download and installed size, when reporting the expected changes (#454)
Self-extracting shell installers for linux/OS X (#508)
New progress behaviour for install/removal (#542)
Persistent constraint modifiers (#625)
Enable constraints display in install, remove, update and update-all commands. (#650)
Use the newly available sha256 for checksumming packages (#690)
Internals¶
Update satsolver lower bound to 0.3.1
Every command needing auth goes through the same auth setup (#245)
Settings does not store platform or python_tag anymore (#366)
os.path.exists and os.access(path, F_OK) are redundant (#385)
Factor out exception handling for commands that use the solver (#488)
Be consistent about __str__ vs __unicode__ (#561)
Use target runtime’s platform to decide where to cache fetched eggs (#616)
Don’t import egginst in EDM (#617)
Don’t import enstaller for installing eggs anymore (#620)
Use EggMetadata to parse eggs everywhere (#642)
Fetcher breaks into the hatcher layer to fetch a package (#663)
Use runtime information when computing repository info (#629)
Remove redundant PackageMetadata.python attribute. (#649)
Emit download events to the right topic in AssetFetcher (#682)
Bug fixes¶
Fix start/stop emitter to not emit stop when error occurs (#182)
We give an error to the user when trying to install packages in non-python environments (#224)
Requirements output by freeze can now be fed to install (#448)
Prevent removing activated environments. (#436)
Trying to create an enviroment with the same name fails with a trace back (#453)
KeyError while installing packages on windows 64 with EDM 0.5 release (#572)
Subscribing to package fetch events does not work (#597)
Installing egg w/ legacy egg info directory fails (#668)
Fix rm_rf to handle symlink like rm -rf does. (#644)
Changes since 0.3.0¶
Enhancements¶
errors are shown for unsatisfiable requests when using sat-solver
Version 0.3.0¶
Highlights¶
polish the output of most commands
support for the new SAT solver. To use the new solver, add the line:
solver_kind: 'sat'
in your ~/.edm.yaml file
Bug fixes¶
invalid settings in configuration does not crash edm anymore (#213)
fix test for released versions (#344)
Enhancements¶
add info command to display detailed runtime information.
available-runtimes output is now computed with tabulate.
update to click 6.2
doc: topic’s help and quick intro are now consolidated from the same sources.
output is now more consistent across commands (#277)
by default, the prompt is now overriden in the shell command (#304)
experimental support for the new SAT solver (#315), as an opt-in option: you need to explicitly set it up in your ~/.edm.yaml.
Internals¶
package explicitly installed are now tracked internally, to help the new SAT solver (#307)
don’t use ETAG anymore for http request caching, as it is too unreliable (#336)
Version 0.2.0rc1¶
Released on 11.11.2015.
This release contains numerous bug fixes and improvements upon the initial prototype. From now on, we will try (but do not guarantee yet) backward compatibility at the CLI level and on-file formats.
Enhancements¶
support for alternative runtime’s implementation and languages (#196)
new configure command for easier onboarding (#237)
edm help accept topics (#215)
edm packages list now sort its output alphabetically (#206)
–insecure automatically disables urllib3 warnings (#223)
-v for verbose output now supported (#241)
edm –version is more informative (#243)
edm environments list now marks the activated environment (#252)
runtimes are now called environments to avoid confusion with brood runtimes (#240)
Bug fixes¶
edm search is fixed (#166)
Debian installer now works on Ubuntu 12.04 (#167)
edm does not crash when some package are missing during installation (#168)
ensure written values in edm yaml configuration are properly escaped (#190)
when creating a token, ensure it does not exist yet first (#246)
shell command does not crash anymore when the target environment does not exist yet (#251)
Internals¶
dependency solver actions are now executed through edm-only code. We don’t use the clumsy Enpkg class anymore
much better layering between edm.core and edm.commands/edm.cli. In particular, no code in edm.core writes into stdout or prompts for user interaction.
Version 0.1.0rc1¶
Initial release.
Released on 26.08.2015.
Main features¶
support for python 2 and python 3 runtimes.
python runtimes are upgradeable in-place
dummy enpkg and egginst for backward compatibility
seamless UI to switch between “runtimeless” mode and runtime mode
single file distribution on linux and os x
natives installers for every supported platform (rpm, deb, msi and osx pkg).