Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
quantum9Innovation committed Aug 21, 2022
0 parents commit 94456b8
Show file tree
Hide file tree
Showing 59 changed files with 5,169 additions and 0 deletions.
10 changes: 10 additions & 0 deletions .codecov.yml
@@ -0,0 +1,10 @@
comment:
require_changes: true

codecov:
require_ci_to_pass: false
status:
project:
default:
target: auto
threshold: 5%
6 changes: 6 additions & 0 deletions .coveragerc
@@ -0,0 +1,6 @@
[run]
source =
epispot

[report]
show_missing = True
24 changes: 24 additions & 0 deletions .deepsource.toml
@@ -0,0 +1,24 @@
version = 1

test_patterns = [
"tests/**",
"**/test_*"
]

exclude_patterns = [
"dist/*",
"build/*",
"docs/*",
]

[[analyzers]]
name = "python"
enabled = true
dependency_file_paths = [
"requirements/requirements.txt",
"requirements/requirements-nightly.txt",
"requirements/requirements-dev.txt"
]

[analyzers.meta]
runtime_version = "3.x.x"
81 changes: 81 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
@@ -0,0 +1,81 @@

# PURPOSE OF THIS FILE:

# epispot's code is licensed under the GNU v3.0 General Public License,
# meaning you can use any code on the repository and package for your own projects
# provided,
# (1) you give credit to the authors (as described within this file)
# (2) you also use the GNU v3.0 General Public License for your project
# This file provides the authoring information for (1)

# WHAT THIS MEANS FOR CONTRIBUTIONS:

# Every time a CODEOWNER's code is modified in a new PR,
# GitHub will automatically ping them for review.
# Epispot will rarely merge PRs without author approval,
# which means that in order for a PR to be merged into the `master` branch,
# it will need to receive approving reviews from all authors whose code has been modified.
# In the event that a CODEOWNER is unreachable or does not review the PR within a suitable amount of time,
# the PR will be merged regardless.
# However, it may be rejected if it fails in beta trials.

# CODEOWNER GUIDELINES:

# To become a CODEOWNER, you must:
# (1) Directly contribute to a file in this repository
# (2) License your code to epispot under the condition that it will be kept with a GNU v3.0 General Public License
# (3) Submit a PR describing your changes
# (a) If your PR modifies someone else's code,
# you must receive an approving review from them;
# however you will take over as CODEOWNER of the code
# you modified once approved
# (4) Have your PR approved and merged into the latest release of epispot
# (5) Wait until your feature passes beta trials and is released into the main package
# If you believe that you have followed these steps but are not properly attributed to your code within this file,
# please contact an existing CODEOWNER or a repository maintainer to have your GitHub username registered in this
# document.
# Additionally, if you would like your username *removed* from this document,
# follow the same steps listed above.

# IMPORTANT NOTES:

# Please note that due to current GitHub processes, if you do not have write access to the repository,
# many of the features of CODEOWNERS will not work for your account. However, you will be manually pinged after
# your code is touched.

# Please see the official GitHub document on CODEOWNERS at:
# https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners

* @quantum9innovation

*.py @quantum9innovation
*.yml @Quantalabs
*.sh @quantum9innovation
*.md @quantum9innovation
*.txt @quantum9innovation
*.csv @quantum9innovation
*.png @quantum9innovation
*.coveragerc @Quantalabs
*.toml @Quantalabs
*.cfg @Quantalabs
*.gitignore @Quantalabs

bin/ @Quantalabs
scripts/ @quantum9innovation
requirements/ @Quantalabs

/.github/ @Quantalabs
/.github/ISSUE_TEMPLATE/ @quantum9innovation
/.github/workflows/* @Quantalabs
/epispot/ @quantum9innovation
/bin/ @quantum9innovation
/scripts/ @Quantalabs

test_* @quantum9innovation
*-nightly @quantum9innovation
*-dev @quantum9innovation
requirements-* @Quantalabs

LICENSE @quantum9innovation
SECURITY.md @quantum9innovation @Quantalabs
setup.py @Quantalabs
41 changes: 41 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
@@ -0,0 +1,41 @@
---
name: Bug report
about: Create a report to help us improve
title: "[Bug]"
labels: bug :warning:, status:review-needed
assignees: ''

---

**Describe the bug**
A clear and concise description of what the bug is.

**To Reproduce**
Steps to reproduce the behavior:

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

**Expected behavior**
A clear and concise description of what you expected to happen.

**Screenshots**
If applicable, add screenshots to help explain your problem.

**Python**

- Python Version (e.g. 3.7)
- Operating System (e.g. Windows)
- Epispot Version (e.g. 2.0.0)
- Released? (yes/no)

**Anaconda**

- Anaconda Version
- Operating System
- Epispot Version (e.g. 2.0.1)

**Additional context**
Add any other context about the problem here.
20 changes: 20 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for epispot.
title: "[Feat]"
labels: feat :sparkle:, status:review-needed
assignees: ''

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
13 changes: 13 additions & 0 deletions .github/dependabot.yml
@@ -0,0 +1,13 @@
version: 2
updates:
- package-ecosystem: "pip"
directory: "/"
schedule:
interval: "daily"
assignees:
- "Quantalabs"
commit-message:
prefix: "[dep]"
prefix-development: "[dep/dev]"
labels:
- "dependabot"
39 changes: 39 additions & 0 deletions .github/labeler.yml
@@ -0,0 +1,39 @@
tests:
- tests/*

src:
- epispot/*
- bin/*

repo:
- .github/*

workflows:
- .github/workflows
- .github/*.yml
- scripts/*

templates:
- .github/ISSUE_TEMPLATE/*
- .github/PULL_REQUEST_TEMPLATE/*
- .github/pull_request_template/*

doc:
- assets/*
- ./*.md
- LICENSE

dep:
- requirements/*
- requirements.txt

dot:
- .codecov.yml
- .coveragerc
- .deepsource.toml
- .gitignore
- .zenodo.json
- lgtm.yml
- pyproject.toml
- setup.cfg
- setup.py
30 changes: 30 additions & 0 deletions .github/pull_request_template.md
@@ -0,0 +1,30 @@
# Pull Request Template

## New Feature

Describe any new features here.
Include screenshots, data, or code snippets to show what this feature does.

## Known Issues

Describe any known issues, problems, or security vulnerabilities here.
If this PR solves an issue or problem, discuss it here as well.

## Code Breakdown

Breakdown any file changes here.

Ex:

- README.md
- Added new badge
- Inverted logo
- setup.py
- Added link to homepage

## Additional Notes

List any additional notes here.
You can also use this section to **@mention** a CODEOWNER or link to an issue.
If this PR *solves* an issue, use closing keywords here. Ex:
**Fixes #x**
38 changes: 38 additions & 0 deletions .github/workflows/build.yml
@@ -0,0 +1,38 @@
name: Build

on: [push, pull_request]

jobs:
build:

runs-on: ubuntu-latest
strategy:
matrix:
python-version:
- '3.8'
- '3.9'
- '3.10'

steps:
- name: (language/python) Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- uses: actions/checkout@v2
- name: (before_install) Upgrade environment
run: |
python -m pip install --upgrade pip
- name: (install) Run install scripts
run: |
# install LaTeX requirements for Actions runner
sudo apt-get install dvipng texlive-latex-extra texlive-fonts-recommended cm-super
bash scripts/runner/build.sh
- name: (script) Run tests
run: |
python -m pytest
- name: (after_success) Report code coverage
run: |
python -m coverage run -m pytest
python -m coverage xml
python -m coverage report
codecov
52 changes: 52 additions & 0 deletions .github/workflows/docs.yml
@@ -0,0 +1,52 @@
name: Auto-Generate Documentation

on:
workflow_dispatch:
# push:
# branches:
# - main
# paths:
# - epispot/*
# - README.md # documentation uses README via `.. include`
# - .github/workflows/*

jobs:
build:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.10'
- name: Install dependencies
run: |
bash scripts/runner/build.sh
- name: Configure Git
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git pull
- name: Generate documentation
run: |
pdoc --html --output-dir stash1 epispot
- name: Stash changes
continue-on-error: true
run: |
git add .
git commit -m "Stashed Documentation Changes"
- name: Set up gh-pages # See #34 for directory structure information
run: |
git checkout gh-pages
rm -rf en/latest/ # -rf to delete all subdirectories
- name: Push docs to gh-pages
continue-on-error: true # Git will return an error if the working tree is clean (i.e. no modifications to the current documentation exist)
run: |
git checkout main stash1/
mkdir -p en/latest/ # recreate empty directory after being deleted in previous step
mv stash1/epispot/* en/latest/
git add .
git commit -m "[docs]: Update documentation"
git push
12 changes: 12 additions & 0 deletions .github/workflows/label.yml
@@ -0,0 +1,12 @@
name: Labeler
on: [pull_request]

jobs:
label:

runs-on: ubuntu-latest

steps:
- uses: actions/labeler@v2
with:
repo-token: "${{ secrets.GITHUB_TOKEN }}"

0 comments on commit 94456b8

Please sign in to comment.