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
- *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
- *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.20170729.tar.gz
(270.9 kB
view details)
Built Distributions
File details
Details for the file e3-core-20.8.20170729.tar.gz
.
File metadata
- Download URL: e3-core-20.8.20170729.tar.gz
- Upload date:
- Size: 270.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a4adcf21e83eda15475177d38e799be3e24b54deee267c986f66296e353a52f |
|
MD5 | 073c356e593f70eb3f74ce8bd4041ce9 |
|
BLAKE2b-256 | d9e237117fb062f2b7858d16fa3a19c526fe091e927bc38c84339ded00a378ec |
File details
Details for the file e3_core-20.8.20170729-py3-none-any.whl
.
File metadata
- Download URL: e3_core-20.8.20170729-py3-none-any.whl
- Upload date:
- Size: 299.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5515ed4ebdff9daad1e83b383bd16c48e9421c2621039426217318aa5e03f06f |
|
MD5 | 8b6d078137cf6018c4eb80832b2e45b0 |
|
BLAKE2b-256 | 9badd070090a72b3f1d80bf4564051f4cf097dcbe660cf3a049ba4f82a956caf |
File details
Details for the file e3_core-20.8.20170729-py2-none-any.whl
.
File metadata
- Download URL: e3_core-20.8.20170729-py2-none-any.whl
- Upload date:
- Size: 299.5 kB
- Tags: Python 2
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f0c7384f741eee89077c6f6e18dc9ef84a2bff19d72a47af56da95d4fc44ae1 |
|
MD5 | 19bad9a35214d36d50bc37bd4c88ad5d |
|
BLAKE2b-256 | ad4d5bff6efe514c3c9645003c188c193fe121f9ac79ac76f859b8b1794de1e4 |