Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 0.0.1 #13

Merged
merged 87 commits into from
Apr 7, 2022
Merged
Show file tree
Hide file tree
Changes from 80 commits
Commits
Show all changes
87 commits
Select commit Hold shift + click to select a range
50d4674
adding memory
Mar 11, 2022
b5fe070
added missing errors
Mar 11, 2022
2b102ea
adding utils
Mar 11, 2022
b75bdeb
added basic Makefile
Mar 11, 2022
99854f8
doc work with py 3.6
Mar 11, 2022
b4d84f6
trying to unlock CI
Mar 11, 2022
f896453
reverting
Mar 11, 2022
485d6ba
added in memory transport
Mar 11, 2022
4d4f7fa
renamed
Mar 14, 2022
fab0aba
renaming
Mar 14, 2022
cc4b422
add in_memory and base transport
Mar 15, 2022
2cf73bf
fixed transport tests
Mar 15, 2022
36d31fb
format
Mar 15, 2022
d2afab0
added models
Mar 15, 2022
88f05f2
memory no longer used
Mar 15, 2022
bbbd1d6
reformat
Mar 15, 2022
ab0972e
added tests for commandreply
Mar 15, 2022
fdc0e9b
added zmq base transport
Mar 15, 2022
bed0724
first base working version
Mar 15, 2022
a78d557
updated dependencies
Mar 15, 2022
c07e06e
codestyle
Mar 15, 2022
ff2e3d2
refactor models
Mar 16, 2022
ddcdc4b
more models extension
Mar 16, 2022
0333bdf
adds parameter validation to manifest
Mar 16, 2022
2b03027
models extention
Mar 16, 2022
6adc09c
base working example
Mar 16, 2022
7e8fea2
working version
Mar 16, 2022
e7db3e1
removed unused errors
Mar 16, 2022
712e85d
refator renaming
Mar 16, 2022
b12239c
renamed methods
Mar 16, 2022
04a7dd3
add simple example
Mar 16, 2022
1602e54
end of line
Mar 16, 2022
677f866
updated codestyle
Mar 16, 2022
4663129
pre-commit checks enabled
Mar 16, 2022
3d4760a
fixed issues with mypy
Mar 16, 2022
9d89009
trying to fix mypy errors
Mar 16, 2022
4afb8cd
fix mypy locally
Mar 16, 2022
e49dda6
making docs build on py.36 in CI
Mar 16, 2022
db24b5d
fix CI for noxfile
Mar 16, 2022
b7752b8
this should fix typing issues with noxfile
Mar 16, 2022
7b24392
fixed test_transport
Mar 16, 2022
2081bfe
adding base test_core
Mar 16, 2022
97338b9
fixed coverage
Mar 16, 2022
fd16826
fixed mypy
Mar 16, 2022
faac9f5
raised timeout for macos in CI
Mar 16, 2022
3d70110
updated target code coverage
Mar 16, 2022
abc0577
added some examples
Mar 16, 2022
411b0e3
added missing example files
Mar 16, 2022
206a673
bumped version
Mar 17, 2022
29ac0f8
refactor docs
Mar 17, 2022
e1ace81
fix typo
Mar 17, 2022
e5e2825
fix readme
Mar 31, 2022
d21022c
added context manager support
Mar 31, 2022
7d0d7aa
refacto rename
Mar 31, 2022
3151a18
more refactoring
Mar 31, 2022
e5d01e8
refactor and optimized
Mar 31, 2022
868f572
typo
Mar 31, 2022
5e5adea
enhanced request uniquness by adding a session id
Apr 1, 2022
1940698
added validation
Apr 6, 2022
2b6cbd3
improve parsing of commands
Apr 6, 2022
e30613d
improvde comments
Apr 6, 2022
5b2bab0
renamed ControlInterface to PairedTransmitter
Apr 6, 2022
cf911c7
renamed exposed_interface to exposed_commands
Apr 6, 2022
adf3fd5
making tests more readbale
Apr 6, 2022
c01d89d
timeout has to be explicit when calling fucntiuon
Apr 6, 2022
586020a
refactored the simple example
Apr 6, 2022
1af657c
refactored the simple example
Apr 6, 2022
4c07c16
updated examples
Apr 6, 2022
c147041
added missing examples
Apr 6, 2022
2453207
add examples tester
Apr 6, 2022
77bbe64
add examples tester
Apr 6, 2022
62a26c6
add comment to test
Apr 6, 2022
c824be8
give more time to deliver messages
Apr 6, 2022
3e5d80e
added extra test
Apr 6, 2022
1735dd6
replaced sphinx with docsify
Apr 7, 2022
fe0c6b1
added empty file
Apr 7, 2022
3d51dae
Merge branch 'master' into initial-version
GitHK Apr 7, 2022
7ac3fa3
removed file
Apr 7, 2022
f0349d5
updated docspage link
Apr 7, 2022
dad8dd2
removed unused
Apr 7, 2022
4b5a480
updated docs links and purged unused badge
Apr 7, 2022
49c6943
added docs links on readme
Apr 7, 2022
d9da532
added some more general usage fixtures
Apr 7, 2022
9fbadc3
refacored test structure
Apr 7, 2022
08c698b
new test structure
Apr 7, 2022
ff83b6b
updated coverage badge
Apr 7, 2022
35a5dad
add delay when booting services
Apr 7, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .flake8
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
[flake8]
select = B,B9,C,D,DAR,E,F,N,RST,S,W
select = B,B9,C,DAR,E,F,N,RST,S,W
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why did you choose flake? How does it compare to what we already know/have ?
My understanding is that this is covered by black and pylint

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because it already came in bundled with flake8, it does the same job.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these entries are amazingly clear 🤣

ignore = E203,E501,RST201,RST203,RST301,W503
max-line-length = 80
max-complexity = 10
Expand Down
8 changes: 0 additions & 8 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@ jobs:
- { python: "3.10", os: "macos-latest", session: "tests" }
- { python: "3.10", os: "ubuntu-latest", session: "typeguard" }
- { python: "3.10", os: "ubuntu-latest", session: "xdoctest" }
- { python: "3.10", os: "ubuntu-latest", session: "docs-build" }

env:
NOXSESSION: ${{ matrix.session }}
Expand Down Expand Up @@ -104,13 +103,6 @@ jobs:
name: coverage-data
path: ".coverage.*"

- name: Upload documentation
if: matrix.session == 'docs-build'
uses: actions/[email protected]
with:
name: docs
path: docs/_build

coverage:
runs-on: ubuntu-latest
needs: tests
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@
/docs/_build/
/src/*.egg-info/
__pycache__/
*ignore*
.vscode/
Empty file added .nojekyll
Empty file.
12 changes: 0 additions & 12 deletions .readthedocs.yml

This file was deleted.

51 changes: 14 additions & 37 deletions CODE_OF_CONDUCT.rst → CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,12 @@
Contributor Covenant Code of Conduct
====================================
# Contributor Covenant Code of Conduct

Our Pledge
----------
## Our Pledge

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.


Our Standards
-------------
## Our Standards

Examples of behavior that contributes to a positive environment for our community include:

Expand All @@ -31,75 +27,56 @@ Examples of unacceptable behavior include:
- Other conduct which could reasonably be considered inappropriate in a
professional setting

Enforcement Responsibilities
----------------------------
## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.


Scope
-----
## Scope

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.


Enforcement
-----------
## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at [email protected]. All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the reporter of any incident.


Enforcement Guidelines
----------------------
## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:


1. Correction
~~~~~~~~~~~~~
### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.


2. Warning
~~~~~~~~~~
### 2. Warning

**Community Impact**: A violation through a single incident or series of actions.

**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.


3. Temporary Ban
~~~~~~~~~~~~~~~~
### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.


4. Permanent Ban
~~~~~~~~~~~~~~~~
### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within the community.

## Attribution

Attribution
-----------

This Code of Conduct is adapted from the `Contributor Covenant <homepage_>`__, version 2.0,
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.0,
available at https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

Community Impact Guidelines were inspired by `Mozilla’s code of conduct enforcement ladder <https://github.com/mozilla/diversity>`__.

.. _homepage: https://www.contributor-covenant.org
Community Impact Guidelines were inspired by [Mozilla’s code of conduct enforcement ladder](https://github.com/mozilla/diversity).

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.
96 changes: 41 additions & 55 deletions CONTRIBUTING.rst → CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,19 @@
Contributor Guide
=================
# Contributor Guide

Thank you for your interest in improving this project.
This project is open-source under the `MIT license`_ and
This project is open-source under the [MIT license] and
welcomes contributions in the form of bug reports, feature requests, and pull requests.

Here is a list of important resources for contributors:

- `Source Code`_
- `Documentation`_
- `Issue Tracker`_
- `Code of Conduct`_
- [Source Code]
- [Documentation]
- [Issue Tracker]
- [Code of Conduct]

.. _MIT license: https://opensource.org/licenses/MIT
.. _Source Code: https://github.com/ITISFoundation/osparc-control
.. _Documentation: https://osparc-control.readthedocs.io/
.. _Issue Tracker: https://github.com/ITISFoundation/osparc-control/issues
## How to report a bug

How to report a bug
-------------------

Report bugs on the `Issue Tracker`_.
Report bugs on the [Issue Tracker].

When filing an issue, make sure to answer these questions:

Expand All @@ -33,73 +26,59 @@ When filing an issue, make sure to answer these questions:
The best way to get your bug fixed is to provide a test case,
and/or steps to reproduce the issue.

## How to request a feature

How to request a feature
------------------------

Request features on the `Issue Tracker`_.
Request features on the [Issue Tracker].


How to set up your development environment
------------------------------------------
## How to set up your development environment

You need Python 3.6+ and the following tools:

- Poetry_
- Nox_
- nox-poetry_
- [Poetry]
- [Nox]
- [nox-poetry]

Install the package with development requirements:

.. code:: console

```bash
$ poetry install
```

You can now run an interactive Python session,
or the command-line interface:

.. code:: console

```bash
$ poetry run python
$ poetry run osparc-control
```

.. _Poetry: https://python-poetry.org/
.. _Nox: https://nox.thea.codes/
.. _nox-poetry: https://nox-poetry.readthedocs.io/


How to test the project
-----------------------
## How to test the project

Run the full test suite:

.. code:: console

```bash
$ nox
```

List the available Nox sessions:

.. code:: console

```bash
$ nox --list-sessions
```

You can also run a specific Nox session.
For example, invoke the unit test suite like this:

.. code:: console

```bash
$ nox --session=tests
```

Unit tests are located in the ``tests`` directory,
and are written using the pytest_ testing framework.
Unit tests are located in the `tests` directory,
and are written using the [pytest] testing framework.

.. _pytest: https://pytest.readthedocs.io/
## How to submit changes


How to submit changes
---------------------

Open a `pull request`_ to submit changes to this project.
Open a [pull request] to submit changes to this project.

Your pull request needs to meet the following guidelines for acceptance:

Expand All @@ -111,13 +90,20 @@ Feel free to submit early, though—we can always iterate on this.

To run linting and code formatting checks before committing your change, you can install pre-commit as a Git hook by running the following command:

.. code:: console

```bash
$ nox --session=pre-commit -- install
```

It is recommended to open an issue before starting work on anything.
This will allow a chance to talk it over with the owners and validate your approach.

.. _pull request: https://github.com/ITISFoundation/osparc-control/pulls
.. github-only
.. _Code of Conduct: CODE_OF_CONDUCT.rst
[mit license]: https://opensource.org/licenses/MIT
[source code]: https://github.com/ITISFoundation/osparc-control
[documentation]: https://osparc-control.readthedocs.io/
[issue tracker]: https://github.com/ITISFoundation/osparc-control/issues
[code of conduct]: CODE_OF_CONDUCT.rst
[pull request]: https://github.com/ITISFoundation/osparc-control/pulls
[poetry]: https://python-poetry.org/
[nox]: https://nox.thea.codes/
[nox-poetry]: https://nox-poetry.readthedocs.io/
[pytest]: https://pytest.readthedocs.io/
5 changes: 2 additions & 3 deletions LICENSE.rst → LICENSE.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
MIT License
===========
# MIT License

Copyright © 2022 Andrei Neagu
Copyright © 2022 ITIS Foundation

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
42 changes: 42 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# Helps setup basic env development

# poetry is required on your system
# suggested installation method
# or refer to official docs
# https://python-poetry.org/docs/
.PHONY: install-poetry
install-poetry:
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python -

# install development dependencies as suggested by cookiecutter
# https://cookiecutter-hypermodern-python.readthedocs.io/en/2021.11.26/quickstart.html
.PHONY: install-dev
install-dev:
pip install nox nox-poetry

.PHONY: tests
tests: # run tests on lowest python interpreter
nox -r -s tests -p 3.6

.PHONY: nox-36
nox-36: # runs nox with python 3.6
nox -p 3.6

.PHONY: tests-dev
tests-dev:
pytest -vv -s --exitfirst --failed-first --pdb tests/

.PHONY: docs
docs: # runs and displays docs
#runs with py3.6 change the noxfile.py to use different interpreter version
nox -r -s docs


.PHONY: codestyle
codestyle: # runs codestyle enforcement
isort .
black .

.PHONY: mypy
mypy: # runs mypy
nox -p 3.6 -r -s mypy
Loading