Skip to content

Commit 5d963da

Browse files
committed
First commit
0 parents  commit 5d963da

11 files changed

+649
-0
lines changed

.gitignore

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
.venv
2+
.env
3+
__pycache__
4+
.DS_Store
5+
.vscode
6+
benchmark
7+
*.zip

.license-header

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
Copyright 2022 Avaiga Private Limited
2+
3+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
4+
the License. You may obtain a copy of the License at
5+
6+
http://www.apache.org/licenses/LICENSE-2.0
7+
8+
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
9+
an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
10+
specific language governing permissions and limitations under the License.

.pre-commit-config.yaml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
repos:
2+
- repo: https://github.com/Lucas-C/pre-commit-hooks
3+
rev: v1.1.13
4+
hooks:
5+
- id: forbid-crlf
6+
- id: remove-crlf
7+
- id: forbid-tabs
8+
- id: remove-tabs
9+
# TODO
10+
- id: insert-license
11+
files: \.py$
12+
args:
13+
- --license-filepath
14+
- .license-header
15+
- repo: https://github.com/pre-commit/pre-commit-hooks
16+
rev: v4.0.1
17+
hooks:
18+
- id: trailing-whitespace
19+
- id: end-of-file-fixer
20+
args: [--unsafe]
21+
- repo: https://github.com/ambv/black
22+
rev: 22.3.0
23+
hooks:
24+
- id: black
25+
args: [--line-length=120]
26+
language_version: python3
27+
- repo: https://gitlab.com/pycqa/flake8
28+
rev: 3.9.2
29+
hooks:
30+
- id: flake8
31+
additional_dependencies: [flake8-typing-imports==1.10.0]

CODE_OF_CONDUCT.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, religion, or sexual identity
10+
and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
* Demonstrating empathy and kindness toward other people.
21+
* Being respectful of differing opinions, viewpoints, and experiences.
22+
* Giving and gracefully accepting constructive feedback.
23+
* Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience.
25+
* Focusing on what is best not just for us as individuals, but for the
26+
overall community.
27+
28+
Examples of unacceptable behavior include:
29+
30+
* The use of sexualized language or imagery, and sexual attention or
31+
advances of any kind.
32+
* Trolling, insulting or derogatory comments, and personal or political attacks
33+
* Public or private harassment.
34+
* Publishing others' private information, such as a physical or email
35+
address, without their explicit permission.
36+
* Other conduct which could reasonably be considered inappropriate in a
37+
professional setting.
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official e-mail address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement at
63+
64+
All complaints will be reviewed and investigated promptly and fairly.
65+
66+
All community leaders are obligated to respect the privacy and security of the
67+
reporter of any incident.
68+
69+
## Enforcement Guidelines
70+
71+
Community leaders will follow these Community Impact Guidelines in determining
72+
the consequences for any action they deem in violation of this Code of Conduct:
73+
74+
### 1. Correction
75+
76+
**Community Impact**: Use of inappropriate language or other behavior deemed
77+
unprofessional or unwelcome in the community.
78+
79+
**Consequence**: A private, written warning from community leaders, providing
80+
clarity around the nature of the violation and an explanation of why the
81+
behavior was inappropriate. A public apology may be requested.
82+
83+
### 2. Warning
84+
85+
**Community Impact**: A violation through a single incident or series
86+
of actions.
87+
88+
**Consequence**: A warning with consequences for continued behavior. No
89+
interaction with the people involved, including unsolicited interaction with
90+
those enforcing the Code of Conduct, for a specified period of time. This
91+
includes avoiding interactions in community spaces as well as external channels
92+
like social media. Violating these terms may lead to a temporary or
93+
permanent ban.
94+
95+
### 3. Temporary Ban
96+
97+
**Community Impact**: A serious violation of community standards, including
98+
sustained inappropriate behavior.
99+
100+
**Consequence**: A temporary ban from any sort of interaction or public
101+
communication with the community for a specified period of time. No public or
102+
private interaction with the people involved, including unsolicited interaction
103+
with those enforcing the Code of Conduct, is allowed during this period.
104+
Violating these terms may lead to a permanent ban.
105+
106+
### 4. Permanent Ban
107+
108+
**Community Impact**: Demonstrating a pattern of violation of community
109+
standards, including sustained inappropriate behavior, harassment of an
110+
individual, or aggression toward or disparagement of classes of individuals.
111+
112+
**Consequence**: A permanent ban from any sort of public interaction within
113+
the community.
114+
115+
## Attribution
116+
117+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
118+
version 2.0, available at
119+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
120+
121+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
122+
enforcement ladder](https://github.com/mozilla/diversity).
123+
124+
[homepage]: https://www.contributor-covenant.org
125+
126+
For answers to common questions about this code of conduct, see the FAQ at
127+
https://www.contributor-covenant.org/faq. Translations are available at
128+
https://www.contributor-covenant.org/translations.

CONTRIBUTING.md

Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
# Contributions
2+
3+
Thanks for your interest in helping improve Taipy! Contributions are welcome, and they are greatly appreciated!
4+
Every little help and credit will always be given.
5+
6+
There are multiple ways to contribute to Taipy: code, but also reporting bugs, creating feature requests, helping
7+
other users in our forums, [stack**overflow**](https://stackoverflow.com/), etc.
8+
9+
Today the only way to communicate with the Taipy team is by GitHub issues.
10+
11+
## Never contributed on an open source project before ?
12+
13+
Have a look on this [GitHub documentation](https://docs.github.com/en/get-started/quickstart/contributing-to-projects).
14+
15+
## Report bugs
16+
17+
Reporting bugs is through [GitHub issues](https://github.com/Avaiga/taipy/issues).
18+
19+
Please report relevant information and preferably code that exhibits the problem. We provide templates to help you
20+
describe the issue.
21+
22+
The Taipy team will analyse and try to reproduce the bug to provide feedback. If confirmed, we will add a priority
23+
to the issue and add it in our backlog. Feel free to propose a pull request to fix it.
24+
25+
## Issue reporting, feedback, proposal, design or any other comment
26+
27+
Any feedback or proposal is greatly appreciated! Do not hesitate to create an issue with the appropriate template on
28+
[GitHub](https://github.com/Avaiga/taipy/issues).
29+
30+
The Taipy team will analyse your issue and return to you as soon as possible.
31+
32+
## Improve Documentation
33+
34+
Do not hesitate to create an issue or pull request directly on the
35+
[taipy-doc repository](https://github.com/Avaiga/taipy-doc).
36+
37+
## Implement Features
38+
39+
The Taipy team manages its backlog in private. Each issue that will be done during our current sprint is
40+
attached to the `current sprint`. Please, do not work on it, the Taipy team is on it.
41+
42+
## Coding style and best practices
43+
44+
### Python
45+
46+
Taipy's repositories follow the [PEP 8](https://www.python.org/dev/peps/pep-0008/) and
47+
[PEP 484](https://www.python.org/dev/peps/pep-0484/) coding convention.
48+
49+
## TypeScript
50+
51+
Taipy's repositories use the [ESLint](https://eslint.org/) and
52+
[TypeScript ESLint](https://github.com/typescript-eslint/typescript-eslint) plugin to ensure a common set of rules.
53+
54+
### Git branches
55+
56+
All new development happens in the `develop` branch. All pull requests should target that branch.
57+
We are following a strict branch naming convention based on the pattern: `<type>/#<issueId>[IssueSummary]`.
58+
59+
Where:
60+
61+
- `<type>` would be one of:
62+
- feature: new feature implementation, or improvement of a feature.
63+
- bug: bug fix.
64+
- review: change provoked by review comment not immediately taken care of.
65+
- refactor: refactor of a piece of code.
66+
- doc: doc changes (complement or typo fixes…).
67+
- build: in relation with the build process.
68+
- `<issueId>` is the processed issue identifier. The advantage of explicitly indicating the issue number is that in
69+
GitHub, a pull request page shows a direct link to the issue description.
70+
- `[IssueSummary]` is a short summary of the issue topic, not including spaces, using Camel case or lower-case,
71+
dash-separated words. This summary, with its dash (‘-’) symbol prefix, is optional.
72+
73+
74+
## Contribution workflow
75+
76+
Find an issue without the label `current sprint` and add a comment on it to inform the community that you are
77+
working on it.
78+
79+
1. Make your [own fork](https://help.github.com/en/github/getting-started-with-github/fork-a-repo) of the repository
80+
target by the issue. Clone it on our local machine, then go inside the directory.
81+
82+
2. We are working with [Pipenv](https://github.com/pypa/pipenv) for our virtualenv.
83+
Create a local env and install development package by running `pipenv install --dev`, then run tests with `pipenv
84+
run pytest` to verify your setup.
85+
86+
3. For convention help, we provide a [pre-commit](https://pre-commit.com/hooks.html) file.
87+
This tool will run before each commit and will automatically reformat code or raise warnings and errors based on the
88+
code format or Python typing.
89+
You can install and setup it up by doing:
90+
```
91+
pipenv install pre-commit
92+
pipenv run python -m pre-commit install
93+
```
94+
95+
4. Make the change and create a
96+
[pull request from your fork](https://help.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request-from-a-fork).
97+
Keep your pull request in __draft__ until your work is finished.
98+
Do not hesitate to add a comment for help or questions.
99+
Before you submit a pull request read to review from your forked repo, check that it meets these guidelines:
100+
- Include tests.
101+
- Code is [rebase](http://stackoverflow.com/a/7244456/1110993).
102+
- License is present.
103+
- pre-commit works - without mypy error.
104+
- GitHub's actions are passing.
105+
106+
6. The taipy team will have a look at your Pull Request and will give feedback. If every requirement is valid, your
107+
work will be added in the next release, congratulation!
108+
109+
110+
## Dependency management
111+
112+
Taipy comes with multiple optional packages. You can find the list directly in the product or Taipy's packages.
113+
The back-end Pipfile does not install by default optional packages due to `pyodbc` requiring a driver's manual
114+
installation. This is not the behaviour for the front-end that installs all optional packages through its Pipfile.
115+
116+
If you are a contributor on Taipy, be careful with dependencies, do not forget to install or uninstall depending on
117+
your issue.
118+
119+
If you need to add a new dependency to Taipy, do not forget to add it in the `Pipfile` and the `setup.py`.
120+
Keep in mind that dependency is a vector of attack. The Taipy team limits the usage of external dependencies at the
121+
minimum.

INSTALLATION.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Installation
2+
3+
```
4+
git clone https://github.com/Avaiga/demo-remove-background.git
5+
cd demo-remove-background
6+
cd src
7+
pip install -r requirements.txt
8+
```

0 commit comments

Comments
 (0)