Skip to content

Commit

Permalink
Add package and general structure to this repository (#1)
Browse files Browse the repository at this point in the history
* Add package

* Add general description on top level.

* Remove .gitignore from top level since there is no code there.

* Fix workflow

* Add gitignore back and fix README

* Small doc improvements
  • Loading branch information
aaronkurz authored Apr 25, 2024
1 parent f54d9ef commit e5b1dc4
Show file tree
Hide file tree
Showing 71 changed files with 10,863 additions and 2 deletions.
52 changes: 52 additions & 0 deletions .github/workflows/package-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: AquDeM Code Quality Check

on:
pull_request:
branches: [ main ]
paths:
- 'package/**'
push:
branches: [ main ]
paths:
- 'package/**'

jobs:
test:

runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.12'
- name: Install dependencies
run: |
cd package
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -r requirements_dev.txt
- name: Run unit tests with pytest
run: |
cd package
export PYTHONPATH=.
pytest
- name: Make sure coverage is high enough
run: |
cd package
export PYTHONPATH=.
coverage run --source=aqudem --branch -m pytest
coverage report --fail-under=90
- name: Lint with pylint
run: |
cd package
pylint aqudem
pylint --disable=protected-access,missing-function-docstring tests
- name: Type checking with mypy
run: |
cd package
mypy aqudem tests --strict
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -157,4 +157,4 @@ cython_debug/
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
# and can be added to the global gitignore or merged into this file. For a more nuclear
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
#.idea/
.idea/
9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,8 @@
# aqudem
# AquDeM
**A**ctivity and Se**qu**ence **De**tection Performance **M**easures: A package to evaluate activity detection results, including the sequence of events given multiple activity types.

The tool has a stand-alone package to use programatically in your Python code, and a web interface to evaluate the results of your activity detection algorithm interactively.

For more info on the package, see `package/`.

For more info on the web interface, see `frontend/`.
21 changes: 21 additions & 0 deletions package/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# http://editorconfig.org

root = true

[*]
indent_style = space
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
charset = utf-8
end_of_line = lf

[*.bat]
indent_style = tab
end_of_line = crlf

[LICENSE]
insert_final_newline = false

[Makefile]
indent_style = tab
15 changes: 15 additions & 0 deletions package/.github/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
* AquDeM version:
* Python version:
* Operating System:

### Description

Describe what you were trying to get done.
Tell us what happened, what went wrong, and what you expected to happen.

### What I Did

```
Paste the command(s) you ran and the output.
If there was a crash, please include the traceback here.
```
106 changes: 106 additions & 0 deletions package/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
*$py.class

# C extensions
*.so

# Distribution / packaging
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg

# PyInstaller
# Usually these files are written by a python script from a template
# before PyInstaller builds the exe, so as to inject date/other infos into it.
*.manifest
*.spec

# Installer logs
pip-log.txt
pip-delete-this-directory.txt

# Unit test / coverage reports
htmlcov/
.tox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
.hypothesis/
.pytest_cache/

# Translations
*.mo
*.pot

# Django stuff:
*.log
local_settings.py

# Flask stuff:
instance/
.webassets-cache

# Scrapy stuff:
.scrapy

# Sphinx documentation
docs/_build/

# PyBuilder
target/

# Jupyter Notebook
.ipynb_checkpoints

# pyenv
.python-version

# celery beat schedule file
celerybeat-schedule

# SageMath parsed files
*.sage.py

# dotenv
.env

# virtualenv
.venv
venv/
ENV/

# Spyder project settings
.spyderproject
.spyproject

# Rope project settings
.ropeproject

# mkdocs documentation
/site

# mypy
.mypy_cache/

# IDE settings
.vscode/
.idea/
13 changes: 13 additions & 0 deletions package/AUTHORS.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
=======
Credits
=======

Development Lead
----------------

* Aaron F. Kurz <[email protected]>

Contributors
------------

None yet. Why not be the first?
120 changes: 120 additions & 0 deletions package/CONTRIBUTING.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
.. highlight:: shell

============
Contributing
============

Contributions are welcome, and they are greatly appreciated! Every little bit
helps, and credit will always be given.

You can contribute in many ways:

Types of Contributions
----------------------

Report Bugs
~~~~~~~~~~~

Report bugs at https://github.com/ics-unisg/aqudem/issues.

If you are reporting a bug, please include:

* Your operating system name and version.
* Any details about your local setup that might be helpful in troubleshooting.
* Detailed steps to reproduce the bug.

Fix Bugs
~~~~~~~~

Look through the GitHub issues for bugs. Anything tagged with "bug" and "help
wanted" is open to whoever wants to implement it.

Implement Features
~~~~~~~~~~~~~~~~~~

Look through the GitHub issues for features. Anything tagged with "enhancement"
and "help wanted" is open to whoever wants to implement it.

Write Documentation
~~~~~~~~~~~~~~~~~~~

AquDeM could always use more documentation, whether as part of the
official AquDeM docs, in docstrings, or even on the web in blog posts,
articles, and such.

Submit Feedback
~~~~~~~~~~~~~~~

The best way to send feedback is to file an issue at https://github.com/ics-unisg/aqudem/issues.

If you are proposing a feature:

* Explain in detail how it would work.
* Keep the scope as narrow as possible, to make it easier to implement.
* Remember that this is a volunteer-driven project, and that contributions
are welcome :)

Get Started!
------------

Ready to contribute? Here's how to set up `aqudem` for local development.

1. Fork the `aqudem` repo on GitHub.
2. Clone your fork locally::

$ git clone [email protected]:your_name_here/aqudem.git

3. Install the requirements using virtualenv (first create a virtualenv)::

$ pip install -r requirements.txt

4. Create a branch for local development::

$ git checkout -b name-of-your-bugfix-or-feature

Now you can make your changes locally.

5. When you're done making changes, check that your changes pass several requirements::

$ `./code-check.sh

To get the necessary tools to execute the checks, run::

$ pip install -r requirements-dev.txt

6. Commit your changes and push your branch to GitHub::

$ git add .
$ git commit -m "Your detailed description of your changes."
$ git push origin name-of-your-bugfix-or-feature

7. Submit a pull request through the GitHub website.

Pull Request Guidelines
-----------------------

Before you submit a pull request, check that it meets these guidelines:

1. The pull request should include tests.
2. If the pull request adds functionality, the docs should be updated. Put
your new functionality into a function with a docstring, and add the
feature to the list in README.rst.
3. The pull request should work for Python 3.12. Make sure that the pipeline passes.

Tips
----



Deploying
---------

A reminder for the maintainers on how to deploy.
Make sure all your changes are committed (including an entry in HISTORY.rst).
Then run::

$ bump2version patch # possible: major / minor / patch
$ git push
$ git push --tags

Travis will then deploy to PyPI if tests pass.
8 changes: 8 additions & 0 deletions package/HISTORY.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
=======
History
=======

0.1.0 (2024-02-08)
------------------

* First release on PyPI.
Loading

0 comments on commit e5b1dc4

Please sign in to comment.