E3 core. Tools and library for building and testing software
Project description
The `e3` Project
================
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/979/badge)](https://bestpractices.coreinfrastructure.org/projects/979)
[![Documentation Status](https://readthedocs.org/projects/e3-core/badge/?version=latest)](http://e3-core.readthedocs.io/en/latest/?badge=latest)
[![codecov](https://codecov.io/gh/AdaCore/e3-core/branch/master/graph/badge.svg)](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 | [![Build Status](https://travis-ci.org/AdaCore/e3-core.svg?branch=master)](https://travis-ci.org/AdaCore/e3-core)
Windows | [![Build status](https://ci.appveyor.com/api/projects/status/c8lgr7t0pmg1q89f/branch/master?svg=true)](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).
================
[![CII Best Practices](https://bestpractices.coreinfrastructure.org/projects/979/badge)](https://bestpractices.coreinfrastructure.org/projects/979)
[![Documentation Status](https://readthedocs.org/projects/e3-core/badge/?version=latest)](http://e3-core.readthedocs.io/en/latest/?badge=latest)
[![codecov](https://codecov.io/gh/AdaCore/e3-core/branch/master/graph/badge.svg)](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 | [![Build Status](https://travis-ci.org/AdaCore/e3-core.svg?branch=master)](https://travis-ci.org/AdaCore/e3-core)
Windows | [![Build status](https://ci.appveyor.com/api/projects/status/c8lgr7t0pmg1q89f/branch/master?svg=true)](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).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
e3-core-20.8.20180302.tar.gz
(287.7 kB
view details)
Built Distributions
File details
Details for the file e3-core-20.8.20180302.tar.gz
.
File metadata
- Download URL: e3-core-20.8.20180302.tar.gz
- Upload date:
- Size: 287.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0346b26a94d251ed1a9981f344487a52cd6ff61957f4b3c9f9fa2f42065bbfcf |
|
MD5 | 50ecbbbe096294f495e833f1d6a5edc0 |
|
BLAKE2b-256 | e80cbbe076de3a29da8881a18f461026c5dac9bd4e53c56a3e6637d9c45258e1 |
File details
Details for the file e3_core-20.8.20180302-py3-none-any.whl
.
File metadata
- Download URL: e3_core-20.8.20180302-py3-none-any.whl
- Upload date:
- Size: 312.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d0e5668a1d6affcb1666aa86f3e6e0fad6a5112409bf37cfbd95dd0f62da0d0 |
|
MD5 | fa607b2387d0bf454ce6d9a76cca8aba |
|
BLAKE2b-256 | eb3de5276c8420f1aca6dd2088d5abe662aa51d2c836f2cbddae259c43876325 |
File details
Details for the file e3_core-20.8.20180302-py2-none-any.whl
.
File metadata
- Download URL: e3_core-20.8.20180302-py2-none-any.whl
- Upload date:
- Size: 316.8 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96d1cd38552323ce07824ba685daa0634d55cc505c4f0bcf17411d771a6e132b |
|
MD5 | 98d5732e7dad6c88f6cc745bb499406c |
|
BLAKE2b-256 | f12166d5d08995eb640e3be2ebe82109d14841663ecfb36af21644f79d528b3e |