Skip to content

Commit

Permalink
Merge branch 'develop' into doc/kb/tips/long_running_callbacks
Browse files Browse the repository at this point in the history
  • Loading branch information
erikfTW authored Oct 19, 2023
2 parents dc205ce + b5ccace commit b7d14a4
Show file tree
Hide file tree
Showing 185 changed files with 4,259 additions and 1,395 deletions.
2 changes: 1 addition & 1 deletion .flake8
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[flake8]
# required by black, https://github.com/psf/black/blob/master/.flake8
max-line-length = 120
max-line-length = 100
max-complexity = 18
ignore = E203, E266, E501, E722, W503, F403, F401
select = B,C,E,F,W,T4,B9
Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,6 @@ docs/manuals/xrefs
docs/manuals/reference_rest/*.md
!docs/manuals/reference_rest/index.md
docs/manuals/reference_guiext/
docs/credits/contributors.md
docs/contributing/contributors.md
node_modules/

12 changes: 7 additions & 5 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,11 @@ apispec-webframeworks = "==0.5.2"
bcrypt = "==3.2.2"
cookiecutter = "==2.1.1"
deepdiff = "==6.2.2"
flask = "==2.3.3"
flask = "==3.0.0"
flask-cors = "==4.0.0"
flask-jwt-extended = "==4.3"
flask-marshmallow = "==0.14"
flask-migrate = "==3.0"
flask-restful = "==0.3.9"
flask-marshmallow = ">=0.14"
flask-migrate = ">=3.0"
flask-restful = ">=0.3.9"
flask-socketio = "==5.3.6"
gevent = "==23.7.0"
gevent-websocket = "==0.10.1"
Expand Down Expand Up @@ -45,6 +44,8 @@ twisted = "==23.8.0"
tzlocal = "==3.0"

[dev-packages]
black = "*"
isort = "*"
mkdocs = "*"
mkdocs-autorefs = "*"
mkdocs-include-markdown-plugin = "*"
Expand All @@ -53,6 +54,7 @@ mkdocs-material = "*"
mkdocs-material-extensions = "*"
mkdocstrings = "*"
mkdocstrings-python = "*"
mypy = "*"
requests = "*"

[requires]
Expand Down
24 changes: 11 additions & 13 deletions docs/contributing/code_of_conduct.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
# 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
Expand All @@ -12,7 +10,7 @@ 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 @@ -36,7 +34,7 @@ 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
Expand All @@ -48,15 +46,15 @@ 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
Expand All @@ -66,12 +64,12 @@ 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.
Expand All @@ -80,7 +78,7 @@ unprofessional or unwelcome in the community.
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.
Expand All @@ -92,7 +90,7 @@ 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.
Expand All @@ -103,7 +101,7 @@ 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
Expand All @@ -112,7 +110,7 @@ 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, available at
Expand Down
139 changes: 73 additions & 66 deletions docs/contributing/contributing.md
Original file line number Diff line number Diff line change
@@ -1,66 +1,70 @@
# Contributions
Thanks for your interest in helping improve Taipy! Contributions are welcome, and they are
greatly appreciated! Every little help and credit will always be given.

Thanks for your interest in helping improve Taipy! Contributions are welcome, and they are greatly appreciated!
Every little help and credit will always be given.

There are multiple ways to contribute to Taipy, code, but also reporting bugs, creating feature requests, helping
other users in our forums, Stack Overflow, etc.
There are multiple ways to contribute to Taipy, code, but also reporting bugs, creating feature
requests, helping other users in our forums, Stack Overflow, etc.

Several channels are open to communicate with the Taipy team:

- The [taipy.io forum](https://www.taipy.io/community/) for open discussion with the Taipy team.
- [GitHub issues](https://github.com/Avaiga/taipy/issues) on the [`taipy` repository](https://github.com/Avaiga/taipy) to suggest
improvements, new features, or to report a bug.
- [GitHub discussions](https://github.com/Avaiga/taipy/discussions) on the [`taipy` repository](https://github.com/Avaiga/taipy)
for discussing technical topics related to the implementation of Taipy.
- [StackOverflow](https://stackoverflow.com/questions/tagged/taipy) for precise questions related to the usage of Taipy.
- [GitHub issues](https://github.com/Avaiga/taipy/issues) on the
[`taipy` repository](https://github.com/Avaiga/taipy) to suggest improvements, new features,
or to report a bug.
- [GitHub discussions](https://github.com/Avaiga/taipy/discussions) on the
[`taipy` repository](https://github.com/Avaiga/taipy) for discussing technical topics
related to the implementation of Taipy.
- [StackOverflow](https://stackoverflow.com/questions/tagged/taipy) for precise questions
related to the usage of Taipy.

Before contributing to Taipy, please read our [Code of conduct](code_of_conduct.md).

## Never contributed to an open source project before ?
# Never contributed to an open source project before ?

Have a look at this [GitHub documentation](https://docs.github.com/en/get-started/quickstart/contributing-to-projects).
Have a look at this
[GitHub documentation](https://docs.github.com/en/get-started/quickstart/contributing-to-projects).

## Bugs report
# Bugs report

Reporting bugs is through [GitHub issues](https://github.com/Avaiga/taipy/issues).

Please report relevant information and preferably code that exhibits the problem. We provide templates to help you
present the issue in a comprehensive way.
Please report relevant information and preferably code that exhibits the problem. We provide
templates to help you present the issue in a comprehensive way.

The Taipy team will analyze and try to reproduce the bug to provide feedback. If confirmed, we will add a priority
to the issue and add it in our backlog. Feel free to propose a pull request to fix it.
The Taipy team will analyze and try to reproduce the bug to provide feedback. If confirmed, we
will add a priority to the issue and add it in our backlog. Feel free to propose a pull request
to fix it.

## Issue reporting, feedback, proposal, design or any other comment
# Feedback, proposal or any comment

Any feedback or proposal is greatly appreciated! Do not hesitate to create an issue with the appropriate template on
[GitHub](https://github.com/Avaiga/taipy/issues).
Any feedback or proposal is greatly appreciated! Do not hesitate to create an issue with the
appropriate template on [GitHub](https://github.com/Avaiga/taipy/issues).

The Taipy team will analyze your issue and return to you as soon as possible.

## Improve Documentation
# Improve Documentation

Do not hesitate to create an issue or pull request directly on the
[taipy-doc repository](https://github.com/Avaiga/taipy-doc/issues).

## Implement Features
# Implement Features

The Taipy team manages its backlog in private. Each issue that will be done during our current sprint is
attached to the `current sprint`. Please, do not work on it, the Taipy team is on it.
The Taipy team manages its backlog in private. Each issue that will be done during our current
sprint is attached to the `current sprint`. Please, do not work on it, the Taipy team is on it.

## Code organization
# Code organization

Taipy is organized in five main repositories:
Taipy is organized in several repositories:

- [taipy-config](https://github.com/Avaiga/taipy-config).
- [taipy-core](https://github.com/Avaiga/taipy-core).
- [taipy-gui](https://github.com/Avaiga/taipy-gui).
- [taipy-rest](https://github.com/Avaiga/taipy-rest).
- [taipy-templates](https://github.com/Avaiga/taipy-templates).
- [taipy](https://github.com/Avaiga/taipy) brings previous packages in a single one.

## Coding style and best practices
# Best practices

### Python
## Python

Taipy's repositories follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) and
[PEP 484](https://www.python.org/dev/peps/pep-0484/) coding convention.
Expand All @@ -70,10 +74,11 @@ Taipy's repositories follow the [PEP 8](https://www.python.org/dev/peps/pep-0008
Taipy's repositories follow the [W3Schools](https://www.w3schools.com/js/js_conventions.asp) and
[Google](https://google.github.io/styleguide/tsguide.html) coding convention.

### Git branches
## Git branches

All new development happens in the `develop` branch. All pull requests should target that branch.
We are following a strict branch naming convention based on the pattern: `<type>/#<issueId>[<IssueSummary>]`.
We are following a strict branch naming convention based on the pattern:
`<type>/#<issueId>[<IssueSummary>]`.

Where:

Expand All @@ -84,58 +89,60 @@ Where:
- refactor: refactor of a piece of code.
- doc: doc changes (complement or typo fixes…).
- build: in relation with the build process.
- `<issueId>` is the processed issue identifier. The advantage of explicitly indicating the issue number is that in
GitHub, a pull request page shows a direct link to the issue description.
- `[<IssueSummary>]` is a short summary of the issue topic, not including spaces, using Camel case or lower-case,
dash-separated words. This summary, with its dash (‘-’) symbol prefix, is optional.

- `<issueId>` is the processed issue identifier. The advantage of explicitly indicating the
issue number is that in GitHub, a pull request page shows a direct link to the issue
description.
- `[<IssueSummary>]` is a short summary of the issue topic, not including spaces, using Camel
case or lower-case, dash-separated words. This summary, with its dash (‘-’) symbol prefix,
is optional.

## Contribution workflow
# Contribution workflow

Find an issue without the label `current sprint` and add a comment on it to inform the community that you are
working on it.
Find an issue without the label `current sprint` and add a comment on it to inform the community
that you are working on it.

1. Make your [own fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) of the repository
target by the issue. Clone it on our local machine, then go inside the directory.
1. Make your [own fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo)
of the repository target by the issue. Clone it on our local machine, then go inside the
directory.

2. We are working with [Pipenv](https://github.com/pypa/pipenv) for our virtual environments.
Create a local env and install development package by running `pipenv install --dev`, then run tests with
`pipenv run pytest` to verify your setup.
Create a local env and install development package by running `pipenv install --dev`, then
run tests with `pipenv run pytest` to verify your setup.

3. For convention help, we provide a [pre-commit](https://pre-commit.com/hooks.html) file.
This tool will run before each commit and will automatically reformat code or raise warnings and errors based on the
code format or Python typing.
You can install and setup it up by doing:
```
pipenv install pre-commit --skip-lock
pipenv run python -m pre-commit install
```
This tool will run before each commit and will automatically reformat code or raise warnings
and errors based on the code format or Python typing. You can install and setup it up by doing:
```console
pipenv install pre-commit --skip-lock
pipenv run python -m pre-commit install
```

4. Make the change and create a
[pull request from your fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork).
Keep your pull request in __draft__ until your work is finished.
Do not hesitate to add a comment for help or questions.
[pull request from your fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork).
Keep your pull request in __draft__ until your work is finished.
Do not hesitate to add a comment for help or questions.

Before you submit a pull request read to review from your forked repo, check that it meets these guidelines:
Before you submit a pull request read to review from your forked repo, check that it meets
these guidelines:
- Include tests.
- Code is [rebase](http://stackoverflow.com/a/7244456/1110993).
- License is present.
- pre-commit works - without MyPI errors.
- GitHub's actions are passing.

6. The Taipy team will have a look at your Pull Request and will give feedback. If every requirement is valid, your
work will be added in the next release, congratulation!

5. The Taipy team will have a look at your Pull Request and will give feedback. If every
requirement is valid, your work will be added in the next release, congratulation!

## Dependency management
# Dependency management

Taipy comes with multiple optional packages. You can find the list directly in the product or Taipy's packages.
The back-end Pipfile does not install by default optional packages due to `pyodbc` requiring a driver's manual
installation. This is not the behavior for the front-end that installs all optional packages through its Pipfile.
Taipy comes with multiple optional packages. You can find the list directly in the product or
Taipy's packages. The back-end Pipfile does not install by default optional packages due to
`pyodbc` requiring a driver's manual installation. This is not the behavior for the front-end
that installs all optional packages through its Pipfile.

If you are a contributor on Taipy, be careful with dependencies, do not forget to install or uninstall depending on
your issue.
If you are a contributor on Taipy, be careful with dependencies, do not forget to install or
uninstall depending on your issue.

If you need to add to Taipy a new dependency, do not forget to add it in the `Pipfile` and `setup.py`.
Keep in mind that dependency is a vector of attack. The Taipy team limits the usage of external dependencies at the
minimum.
If you need to add to Taipy a new dependency, do not forget to add it in the `Pipfile` and
`setup.py`. Keep in mind that dependency is a vector of attack. The Taipy team limits the usage
of external dependencies at the minimum.
File renamed without changes.
Loading

0 comments on commit b7d14a4

Please sign in to comment.