The `e3` Project
================
[](https://bestpractices.coreinfrastructure.org/projects/979)
[](http://e3-core.readthedocs.io/en/latest/?badge=latest)
[](https://codecov.io/gh/AdaCore/e3-core)
This present project (`e3`) is a Python framework to ease the development
of portable automated build systems (compilation, dependencies management,
binary code packaging, and automated testing).
The `e3` framework is split across multiple Python packages named `e3-<name>`
and sharing the same namespace: `e3`.
Code status
===========
Platform | Status
---------|-------
Linux | [](https://travis-ci.org/AdaCore/e3-core)
Windows | [](https://ci.appveyor.com/project/github-integration-adacore/e3-core/branch/master)
`e3-core` content
=================
`e3-core` package is organized in several packages and modules:
- *anod*: build system handling dependencies management and binary code
packaging. This includes a driver that can parse `.anod` specification
files.
- *archive*: support for reading and writing tar and zip archives
- *collection*: generic collections, e.g. an implementation of Direct Acyclic
Graphs
- *decorator*: Python decorators, e.g. a memoize decorator
- *diff*: functions to compute a diff or apply it
- *electrolyt*: support for parsing build plans
- *env*: global environment handling
- *error*: `e3` exceptions
- *event*: interface for notifying external services
- *fingerprint*: support for creating a synthetic view of set of
conditions and determining whether those conditions have changed
or not.
- *fs*: high-level file system operations, using globbing, walk,...
- *hash*: computation of sha1, md5
- *log*: logging helpers
- *main*: main program initialization, command line parsing,...
- *mainloop*: generic loop for running jobs
- *net*: network utilities
- *net.http*: helper for sending http requests and downloading files
- *net.smtp*: helper for sending emails through smtp
- *os*: platform independent interface to Operating System functions
- *os.fs*: low-level file system operations, no logging involved
- *os.platform*: tools to detect the platform
- *os.process*: interface to run process, to control the execution time,...
- *os.timezone*: platform independent interface to get the machine timezone
- *platform*: generic interface for providing platform information
- *platform_db*: knowledge base for computing platform information
- *store*: interface to download and store resources in a store
- *sys*: `e3` information, sanity check, ...
- *text*: text formatting and transformation
- *vcs*: high level interface to VCS repositories
- *yaml*: helpers for parsing yaml data
See [e3-core documentation](http://e3-core.readthedocs.io/en/latest/) for
more details.
Install
=======
requires: Python 2.7.x (experimental support of Python >=3.4)
To install `e3`, run:
```bash
python setup.py install
```
All `e3` dependencies will also be installed.
Contributing
============
See [CONTRIBUTING.md](CONTRIBUTING.md).
================
[](https://bestpractices.coreinfrastructure.org/projects/979)
[](http://e3-core.readthedocs.io/en/latest/?badge=latest)
[](https://codecov.io/gh/AdaCore/e3-core)
This present project (`e3`) is a Python framework to ease the development
of portable automated build systems (compilation, dependencies management,
binary code packaging, and automated testing).
The `e3` framework is split across multiple Python packages named `e3-<name>`
and sharing the same namespace: `e3`.
Code status
===========
Platform | Status
---------|-------
Linux | [](https://travis-ci.org/AdaCore/e3-core)
Windows | [](https://ci.appveyor.com/project/github-integration-adacore/e3-core/branch/master)
`e3-core` content
=================
`e3-core` package is organized in several packages and modules:
- *anod*: build system handling dependencies management and binary code
packaging. This includes a driver that can parse `.anod` specification
files.
- *archive*: support for reading and writing tar and zip archives
- *collection*: generic collections, e.g. an implementation of Direct Acyclic
Graphs
- *decorator*: Python decorators, e.g. a memoize decorator
- *diff*: functions to compute a diff or apply it
- *electrolyt*: support for parsing build plans
- *env*: global environment handling
- *error*: `e3` exceptions
- *event*: interface for notifying external services
- *fingerprint*: support for creating a synthetic view of set of
conditions and determining whether those conditions have changed
or not.
- *fs*: high-level file system operations, using globbing, walk,...
- *hash*: computation of sha1, md5
- *log*: logging helpers
- *main*: main program initialization, command line parsing,...
- *mainloop*: generic loop for running jobs
- *net*: network utilities
- *net.http*: helper for sending http requests and downloading files
- *net.smtp*: helper for sending emails through smtp
- *os*: platform independent interface to Operating System functions
- *os.fs*: low-level file system operations, no logging involved
- *os.platform*: tools to detect the platform
- *os.process*: interface to run process, to control the execution time,...
- *os.timezone*: platform independent interface to get the machine timezone
- *platform*: generic interface for providing platform information
- *platform_db*: knowledge base for computing platform information
- *store*: interface to download and store resources in a store
- *sys*: `e3` information, sanity check, ...
- *text*: text formatting and transformation
- *vcs*: high level interface to VCS repositories
- *yaml*: helpers for parsing yaml data
See [e3-core documentation](http://e3-core.readthedocs.io/en/latest/) for
more details.
Install
=======
requires: Python 2.7.x (experimental support of Python >=3.4)
To install `e3`, run:
```bash
python setup.py install
```
All `e3` dependencies will also be installed.
Contributing
============
See [CONTRIBUTING.md](CONTRIBUTING.md).
Metadata
Release files for e3-core 20.8.20180302
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| e3-core-20.8.20180302.tar.gz | 287.7 kB | Details |
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| e3_core-20.8.20180302-py3-none-any.whl | Python 3 | none | any | Details |
| e3_core-20.8.20180302-py2-none-any.whl | Python 2 | none | any | Details |
Total release size: 916.9 kB
Release files / e3-core-20.8.20180302.tar.gz
| Download URL | e3-core-20.8.20180302.tar.gz |
|---|---|
| Size | 287.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
0346b26a94d251ed1a9981f344487a52cd6ff61957f4b3c9f9fa2f42065bbfcf
|
|
BLAKE2b-256 checksum How to use checksums |
e80cbbe076de3a29da8881a18f461026c5dac9bd4e53c56a3e6637d9c45258e1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / e3_core-20.8.20180302-py3-none-any.whl
| Download URL | e3_core-20.8.20180302-py3-none-any.whl |
|---|---|
| Size | 312.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6d0e5668a1d6affcb1666aa86f3e6e0fad6a5112409bf37cfbd95dd0f62da0d0
|
|
BLAKE2b-256 checksum How to use checksums |
eb3de5276c8420f1aca6dd2088d5abe662aa51d2c836f2cbddae259c43876325
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Release files / e3_core-20.8.20180302-py2-none-any.whl
| Download URL | e3_core-20.8.20180302-py2-none-any.whl |
|---|---|
| Size | 316.8 kB |
| Tags | Python 2 |
|
SHA-256 checksum How to use checksums |
96d1cd38552323ce07824ba685daa0634d55cc505c4f0bcf17411d771a6e132b
|
|
BLAKE2b-256 checksum How to use checksums |
f12166d5d08995eb640e3be2ebe82109d14841663ecfb36af21644f79d528b3e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |