Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.0%) to scientific vocabulary
Keywords from Contributors
Repository
Synthetic sequence generator
Basic Info
- Host: GitHub
- Owner: sequgen
- License: apache-2.0
- Language: Python
- Default Branch: main
- Size: 4.01 MB
Statistics
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 21
- Releases: 2
Metadata Files
README.dev.md
sequgen developer documentation
For user documentation, go here.
Development install
``` {.sourceCode .shell}
Create a virtualenv, e.g. with
python3 -m venv venv3
activate virtualenv
source venv3/bin/activate
make sure to have a recent version of pip
pip install --upgrade pip
(from the project root directory)
install sequgen as an editable package
pip install --no-cache-dir --editable .
install development dependencies
pip install --no-cache-dir --editable .[dev] ```
Running the tests
Running the tests requires an activated virtualenv with the development tools installed.
``` {.sourceCode .shell}
unit tests with mocked representations of repository behavior
pytest pytest tests/ ```
This run will also report the percentage of code covered by the tests. Detailed coverage information will become available in the directory coverage.
Running linters locally
Running the linters requires an activated virtualenv with the development tools installed.
``` {.sourceCode .shell}
linter
prospector
recursively check import style for the sequgen module only
isort --recursive --check-only sequgen
recursively check import style for the sequgen module only and show
any proposed changes as a diff
isort --recursive --check-only --diff sequgen
recursively fix import style for the sequgen module only
isort --recursive sequgen ```
``` {.sourceCode .shell}
requires activated virtualenv with development tools
prospector && isort --recursive --check-only sequgen ```
You can enable automatic linting with prospector and isort on commit
like so:
{.sourceCode .shell}
git config --local core.hooksPath .githooks
Documentation
In the Python code use Google formatted docstrings.
Generate API documentation locally
The API documentation is hosted at https:/sequgen.readthedocs.io and is automatically updated when main branch is updated.
To generate the API documentation locally do
```shell
Install Sphinx dependencies
pip install -e .[dev] cd docs make html ```
The generated
Versioning
Bumping the version across all files is done with bump2version, e.g.
{.sourceCode .shell}
bump2version minor
Making a release
Preparation
- Update the
CHANGELOG.md - Verify that the information in
CITATION.cffis correct, and that.zenodo.jsoncontains equivalent data - Make sure the version has been updated.
- Run the unit tests with
pytest tests/
PyPI
In a new terminal, without an activated virtual environment or a venv3 directory:
``` {.sourceCode .shell}
prepare a new directory
cd $(mktemp -d --tmpdir sequgen.XXXXXX)
fresh git clone ensures the release has the state of origin/main branch
git clone https://github.com/sequgen/sequgen.git .
prepare a clean virtual environment and activate it
python3 -m venv venv3 source venv3/bin/activate
make sure to have a recent version of pip
pip install --upgrade pip
install runtime dependencies and publishing dependencies
pip install --no-cache-dir . pip install --no-cache-dir .[publishing]
clean up any previously generated artefacts
rm -rf sequgen.egg-info rm -rf dist
create the source distribution and the wheel
python setup.py sdist bdist_wheel
upload to test pypi instance (requires credentials)
twine upload --repository-url https://test.pypi.org/legacy/ dist/* ```
In a new terminal, without an activated virtual environment or a venv3 directory:
``` {.sourceCode .shell} cd $(mktemp -d --tmpdir sequgen-test.XXXXXX)
check you don't have an existing sequgen
which sequgen python3 -m pip uninstall sequgen
install in user space from test pypi instance:
python3 -m pip -v install --user --no-cache-dir \ --index-url https://test.pypi.org/simple/ \ --extra-index-url https://pypi.org/simple sequgen ```
Check that the package works as it should when installed from pypitest.
Then upload to pypi.org with:
``` {.sourceCode .shell}
Back to the first terminal,
FINAL STEP: upload to PyPI (requires credentials)
twine upload dist/* ```
GitHub
Don't forget to also make a release on GitHub.
Owner
- Name: sequgen
- Login: sequgen
- Kind: organization
- Repositories: 3
- Profile: https://github.com/sequgen
Citation (CITATION.cff)
# YAML 1.2
---
abstract: "Python library to define and generate synthetic sequence data"
cff-version: "1.1.0"
authors:
-
affiliation: "Netherlands eScience Center"
family-names: Spaaks
given-names: "Jurriaan H."
orcid: "https://orcid.org/0000-0002-7064-4069"
-
affiliation: "Netherlands eScience Center"
family-names: "Tjong Kim Sang"
given-names: Erik
orcid: "https://orcid.org/0000-0002-8431-081X"
-
affiliation: "Netherlands eScience Center"
family-names: Diblen
given-names: Faruk
orcid: "https://orcid.org/0000-0002-0989-929X"
-
affiliation: "Netherlands eScience Center"
family-names: Verhoeven
given-names: Stefan
orcid: "https://orcid.org/0000-0002-5821-2060"
-
affiliation: "Netherlands eScience Center"
family-names: Huber
given-names: Florian
orcid: "https://orcid.org/0000-0002-3535-9406"
-
affiliation: "Accelting"
family-names: Hees
name-particle: van
given-names: Vincent
orcid: "https://orcid.org/0000-0003-0182-9008"
-
affiliation: "Netherlands eScience Center"
family-names: Bruns
given-names: Bjorn
date-released: 2021-03-30
doi: "10.5281/zenodo.4647702"
keywords:
- Python
- "synthetic data"
- "time series analysis"
- "machine learning"
- classification
license: "Apache-2.0"
message: "If you use this software, please cite it using these metadata."
repository-code: "https://github.com/sequgen/sequgen"
title: "sequgen"
version: "0.2.0"
...
GitHub Events
Total
Last Year
Committers
Last synced: about 3 years ago
All Time
- Total Commits: 151
- Total Committers: 6
- Avg Commits per committer: 25.167
- Development Distribution Score (DDS): 0.437
Top Committers
| Name | Commits | |
|---|---|---|
| Jurriaan H. Spaaks | j****s@e****l | 85 |
| florian-huber | 3****r@u****m | 29 |
| Erik Tjong Kim Sang | e****t@x****l | 19 |
| Stefan Verhoeven | s****n@g****m | 16 |
| Faruk D | f****n@e****l | 1 |
| Stefan Verhoeven | s****n@e****l | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 9 months ago
All Time
- Total issues: 62
- Total pull requests: 24
- Average time to close issues: 4 days
- Average time to close pull requests: 1 day
- Total issue authors: 3
- Total pull request authors: 3
- Average comments per issue: 1.66
- Average comments per pull request: 1.5
- Merged pull requests: 22
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- eriktks (43)
- jspaaks (10)
- sverhoeven (9)
Pull Request Authors
- jspaaks (15)
- eriktks (5)
- sverhoeven (4)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 6 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 2
- Total maintainers: 1
pypi.org: sequgen
Create synthetic sequence data.
- Homepage: https://github.com/sequgen/sequgen
- Documentation: https://sequgen.readthedocs.io/
- License: Apache Software License 2.0
-
Latest release: 0.2.0
published about 5 years ago
Rankings
Maintainers (1)
Dependencies
- matplotlib *
- numpy *