遵循以下最佳实践的项目将能够自愿的自我认证,并显示他们已经实现了核心基础设施计划(OpenSSF)徽章。 显示详细资料
[](https://www.bestpractices.dev/projects/979)
<a href="https://www.bestpractices.dev/projects/979"><img src="https://www.bestpractices.dev/projects/979/badge"></a>
Core framework for developing portable automated build systems
https://github.com/AdaCore/e3-core/blob/master/CONTRIBUTING.md
We document that we're PEP8 compliant and are asking for verifying it with our checker.
Use of a CLA automated through cla-asistant as visible for every pull-request, e.g. https://github.com/AdaCore/e3-core/pull/332
AdaCore, as a commercial entity, ensures the project will continue with minimal interruption. e3-core is a key component of AdaCore internal infrastructure. See https://github.com/AdaCore/e3-core/network/dependents See https://snyk.io/advisor/python/e3-core for an analysis of maintainers and contributors.
The project provides a simple API that is documented in https://e3-core.readthedocs.io/en/latest/index.html This API is extensible using plugins: https://e3-core.readthedocs.io/en/latest/plugins.html
An highlight of main API functions is provided: https://e3-core.readthedocs.io/en/latest/quickstart.html
The main documentation is the API documentation that is maintained using Python docstrings and type annotations. The documentation is maintained up-to-date with changes to the code.
e3-core uses CII best practices badge https://github.com/AdaCore/e3-core
Project site is on GitHub, the Python library is integrated with the Python ecosystem.
The project is meant to be used by developers and not end-users.
Use of GitHub
All backward incompatible changes are documented in https://github.com/AdaCore/e3-core/blob/master/NEWS.md
GitHub issues: https://github.com/AdaCore/e3-core/issues
No vulnerabilities reported
We ask for GitHub issues in https://github.com/AdaCore/e3-core/blob/master/CONTRIBUTING.md
https://github.com/AdaCore/e3-core/blob/master/CONTRIBUTING.md we document our coding standard
Enforce at each pull request via tox
Pure Python
We have a Python lib, are are using standard tools
Standard Python project (script language)
python setup.py install
pip install / uninstall
Easy to build and run the testsuite, all documented in CONTRIBUTING.md
In setup.py: https://github.com/AdaCore/e3-core/blob/master/setup.py
We run safety check --full-report automatically
Use of python package manager.
This is met to the best of our knowledge. FLOSS alternatives are regularly reviewed and used when it makes sense.
Automated via TravisCI and AppVeyor for pull-request. Pushing directly to master without pull-request is disabled.
A test is added after each bug detected.
Coverage is displayed on the project main page and computed for each pull-request. As documented in CONTRIBUTING.md we're want to be near 100% statement coverage (currently 96%)
We document that "All features or bug fixes must be tested." in contributing.md
Documented in https://github.com/AdaCore/e3-core/blob/master/CONTRIBUTING.md and automatically verified (code coverage should not decrease)
All warnings reported by the linter tools are addressed.
We use SHA1 checksum to verify the downloaded content BUT it is possible to configure the download to go through HTTPS. We do not consider the checksum to be a security mechanisms, they are used to detect possible download issues.
The project won't read credentials, we rely on external tools, e.g. AWS cli or SSH
Network communications that would be typically used by projects based on e3-core would be implemented using the Python standard library. Our HTTPS wrappers are verifying SSL certificates by default.
Provided by the Python standard library.
We're using Git tag for releases and GitHub is verifying the signature for us.
The only possible untrusted sources would be the external store containing binary files. The tool require that the checksum is stored separately and verify that the download file has the right checksum.
bandit
Python is a memory safe language
后退