
Security News
Open Source Maintainers Feeling the Weight of the EU’s Cyber Resilience Act
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
A tool to extract code snippets from source files
Essentially, snippet extracts marked sections of text from a given set of input files and saves them elsewhere.
Features include:
.md
code blocks)Code documentation usually needs a written example demonstrating use of some code. This example code can however become quite easily outdated as a project evolves or even contain its own errors.
One solution is to write the examples as tests which can be run within the test system of choice. This ensures that the code of the examples is always valid and working. snippet
can then be used to extract the relevant and informative part of the test and put it in a form which can then be rendered by the documentation system, providing fully tested code examples.
For release notes and a history of changes of all production releases, please see the following:
For a the list of all available versions please, please see the:
The version scheme used follows PEP440 and Semantic Versioning. For production quality releases the version will look as follows:
<major>.<minor>.<patch>
Beta releases are used to give early access to new functionality, for testing and to get feedback on experimental features. As such these releases may not be stable and should not be used for production. Additionally any interfaces introduced in a beta release may be removed or changed without notice. For beta releases the version will look as follows:
<major>.<minor>.<patch>-beta.<pre-release-number>
It is recommended that a virtual environment such as Pipenv is used for all installations to avoid Python dependency conflicts.
To install the most recent production quality release use:
pip install code-snippet
To install a specific release:
pip install code-snippet==<version>
Place a config file in the toml format
in your project directory (e.g. snippet.toml
). Any value defined in the config object
can be overridden.
As an example, basic configuration typically includes input and output directories:
[snippet]
input_glob = 'tests/unit/*.py'
output_dir = 'docs/examples'
Run the following command in your project:
snippet
Alternatively, run snippet from anywhere and specify a working directory and config file:
snippet path/to/root --config=path/to/config.toml
Config files can be specified as glob patterns, defaulting to *.toml
, and can
be set multiple times. Multiple files will be loaded in the order specified
and discovered. Settings loaded last will take precedence.
For more information about how to use the tool, please have a look at the Usage page The full CLI options are:
> snippet --help
usage: __main__.py [-h] [--config CONFIG] [-v] [dir]
positional arguments:
dir path to project root, used by any relative paths in loaded
configs [cwd]
optional arguments:
-h, --help show this help message and exit
--config CONFIG paths (or globs) to config files
-v, --verbosity increase output verbosity
Interface definition and usage documentation (for developers of tooling) is available for the most recent production release here:
The follow described the major aspects of the project structure:
azure-pipelines/
- CI configuration files for Azure Pipelines.docs/
- Interface definition and usage documentation.examples/
- Usage examples.snippet/
- Python source files.news/
- Collection of news files for unreleased changes.tests/
- Unit and integration tests.FAQs
Code snippet extraction for documentation
We found that code-snippet demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The EU Cyber Resilience Act is prompting compliance requests that open source maintainers may not be obligated or equipped to handle.
Security News
Crates.io adds Trusted Publishing support, enabling secure GitHub Actions-based crate releases without long-lived API tokens.
Research
/Security News
Undocumented protestware found in 28 npm packages disrupts UI for Russian-language users visiting Russian and Belarusian domains.