Skip to content

Commit d3f26a8

Browse files
license, contribution guide
1 parent a0a2587 commit d3f26a8

File tree

3 files changed

+199
-0
lines changed

3 files changed

+199
-0
lines changed

CODE_OF_CONDUCT.md

Lines changed: 120 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,120 @@
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+
*Being polite in your communication, excluding disparaging, disrespectful, violent or otherwise impermissible language and behavior.
28+
29+
Examples of unacceptable behavior include:
30+
31+
* The use of sexualized language or imagery, and sexual attention or
32+
advances of any kind
33+
* Trolling, insulting or derogatory comments, and personal or political attacks
34+
* Public or private harassment
35+
* Publishing others' private information, such as a physical or email
36+
address, without their explicit permission
37+
* Other conduct which could reasonably be considered inappropriate in a
38+
professional setting
39+
40+
## Enforcement Responsibilities
41+
42+
Community leaders are responsible for clarifying and enforcing our standards of
43+
acceptable behavior and will take appropriate and fair corrective action in
44+
response to any behavior that they deem inappropriate, threatening, offensive,
45+
or harmful.
46+
47+
Community leaders have the right and responsibility to remove, edit, or reject
48+
comments, commits, code, wiki edits, issues, and other contributions that are
49+
not aligned to this Code of Conduct, and will communicate reasons for moderation
50+
decisions when appropriate. Infringers, who are detected to violate this code of conduct for more than once shall be excluded from this community.
51+
52+
## Scope
53+
54+
This Code of Conduct applies within all community spaces, and also applies when
55+
an individual is officially representing the community in public spaces.
56+
Examples of representing our community include using an official e-mail address,
57+
posting via an official social media account, or acting as an appointed
58+
representative at an online or offline event.
59+
60+
## Enforcement Guidelines
61+
62+
Community leaders will follow these Community Impact Guidelines in determining
63+
the consequences for any action they deem in violation of this Code of Conduct:
64+
65+
### 1. Correction
66+
67+
**Community Impact**: Use of inappropriate language or other behavior deemed
68+
unprofessional or unwelcome in the community.
69+
70+
**Consequence**: A private, written warning from community leaders, providing
71+
clarity around the nature of the violation and an explanation of why the
72+
behavior was inappropriate. A public apology may be requested.
73+
74+
### 2. Warning
75+
76+
**Community Impact**: A violation through a single incident or series
77+
of actions.
78+
79+
**Consequence**: A warning with consequences for continued behavior. No
80+
interaction with the people involved, including unsolicited interaction with
81+
those enforcing the Code of Conduct, for a specified period of time. This
82+
includes avoiding interactions in community spaces as well as external channels
83+
like social media. Violating these terms may lead to a temporary or
84+
permanent ban.
85+
86+
### 3. Temporary Ban
87+
88+
**Community Impact**: A serious violation of community standards, including
89+
sustained inappropriate behavior.
90+
91+
**Consequence**: A temporary ban from any sort of interaction or public
92+
communication with the community for a specified period of time. No public or
93+
private interaction with the people involved, including unsolicited interaction
94+
with those enforcing the Code of Conduct, is allowed during this period.
95+
Violating these terms may lead to a permanent ban.
96+
97+
### 4. Permanent Ban
98+
99+
**Community Impact**: Demonstrating a pattern of violation of community
100+
standards, including sustained inappropriate behavior, harassment of an
101+
individual, or aggression toward or disparagement of classes of individuals.
102+
103+
**Consequence**: A permanent ban from any sort of public interaction within
104+
the community.
105+
106+
## Attribution
107+
108+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
109+
version 2.0, available at
110+
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
111+
112+
Community Impact Guidelines were inspired by [Mozilla's code of conduct
113+
enforcement ladder](https://github.com/mozilla/diversity).
114+
115+
[homepage]: https://www.contributor-covenant.org
116+
117+
For answers to common questions about this code of conduct, see the FAQ at
118+
https://www.contributor-covenant.org/faq. Translations are available at
119+
https://www.contributor-covenant.org/translations.
120+

CONTRIBUTING.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
Thank you for your interest in Picsart Creative APIs SDK project contribution! Please refer to the following sections on how to contribute code and bug reports.
2+
3+
# Repository Structure
4+
5+
| fold | description |
6+
|---------------|------------------------------------------------------------------------------------------|
7+
| `/src/` | folder containing the source files that implement API usage |
8+
| `/tests/` | folder containing tests that ensure the high quality and stability of the implementation |
9+
| `/scripts/` | folder containing scripts |
10+
| `/examples/` | folder containing examples and samples of the SDK usage |
11+
12+
## General Requirements
13+
14+
When submitting changes and improvements to the codebase, it's important to provide all important pieces as described below
15+
16+
- Source code:
17+
- Contribute the main source code changes in `/src/`.
18+
- Choose the right folder to publish the new implementation: `/src/image-api/` or `/src/genai-api`.
19+
- Create a new folder for new endpoints, for example, `/src/image-api/new-service-name/`.
20+
- Copy the style and create separate files for the request, result and the main implementation.
21+
- Provide proper documentation for each added piece.
22+
23+
- Tests:
24+
- Create tests for all newly added functionality.
25+
- Following the same pattern as with the source code, put tests under `/tests/image-api/` or `/tests/genai-api` folders.
26+
- Run tests and make sure no test is failing because of the changes. Make sure to fix all tests before committing changes.
27+
28+
- Third party libraries:
29+
- In case new third party library dependencies are added, make sure to list those in the `/README.md` file, under the License section.
30+
- Add the name of the library, version, the license, also a short description what that library is used for.
31+
32+
- Copyright Notice and License Template:
33+
- Run the `/scripts/license.sh` to add the boilerplate license notice to the new files.
34+
35+
# Reporting bugs
36+
Before submitting a question or reporting a bug, please take a moment of your time and ensure that your issue isn't already discussed in the project documentation or in the [Github issue tracker](../../issues) .
37+
If you have identified a previously unknown problem, it's essential that you submit a self-contained and minimal piece of code that reproduces the problem. The bugs need to be reported in Gihub issue tracker, with “bug” label on them. In the Comment section, clearly explain what was your expectation, and what is the actual result of the execution. Try to isolate the function(s) that malfunction, attach the code snippets that can be easily compiled and run in isolation.
38+
From the same issue tracker, You can also ask questions to CppBind code owners, by using “question” label while creating the Issue.
39+
40+
# Pull requests
41+
Contributions are submitted, reviewed, and accepted using GitHub pull requests. Please refer to [this article](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/about-pull-requests) for details and adhere to the following rules to make the process as smooth as possible:
42+
- Make a new branch for every feature you're working on.
43+
- Make small and clean pull requests that are easy to review but make sure they do add value by themselves.
44+
- While contributing, please, follow the Style Guides
45+
- for Python Coding defined as [Google Pythong Style Guide](https://google.github.io/styleguide/pyguide.html)
46+
- for Java Coding defined as [Google Java Style Guide](https://google.github.io/styleguide/javaguide.html)
47+
- for Typescript defined as [Google Typescript Style Guide](https://google.github.io/styleguide/tsguide.html)
48+
- Add tests for any new functionality and run the test suite to ensure that no existing features break
49+
- Every pull request needs to have at least 2 approvals before being merged. The mandatory approvers are code owners of the repository.
50+
- Merging is getting done by Picsart, that is in charge of the tool stability and maintainability.
51+
52+
# Release cycle
53+
There is no fixed releases cadence, the new fixes/enhancements will be published on-demand.
54+
The release train will take all the merges done after the last release, and generate a new release tag for them, with Semantic Versioning rules.
55+
Release Notes will be located in the Github Releases file, with the latest first order, as well as at [Creative APIs Releases](https://docs.picsart.io/docs/creative-apis-releases) page.
56+
57+
# Licensing of contributions
58+
Picsart Creative APIs SDK is provided under a MIT license that can be found in the [LICENSE](./LICENSE) file. By using, distributing, or contributing to this project, you agree to the terms and conditions of this license.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2024 PicsArt, Inc.
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

0 commit comments

Comments
 (0)