Skip to content

Commit d0b1fd8

Browse files
committed
revert contributing.md back to current state on main
1 parent e398588 commit d0b1fd8

File tree

1 file changed

+23
-31
lines changed

1 file changed

+23
-31
lines changed

CONTRIBUTING.md

Lines changed: 23 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -2,42 +2,34 @@
22

33
By submitting a contribution to this repository, you certify that:
44

5-
1. **You have the right to submit the contribution.**
5+
1. **You have the right to submit the contribution.
66
You created the code/content yourself, or you have the right to submit it under the project's license.
77

8-
2. **You grant us a license to use your contribution.**
8+
2. **You grant us a license to use your contribution.
99
You agree that your contribution will be licensed under the same terms as the rest of this project, and you grant the project maintainers the right to use, modify, and distribute your contribution as part of the project.
1010

11-
3. **You are not submitting confidential or proprietary information.**
11+
3. **You are not submitting confidential or proprietary information.
1212
Your contribution does not include anything you don’t have permission to share publicly.
1313

1414
If you are contributing on behalf of an organization, you confirm that you have the authority to do so. You agree to confirm these terms in your pull request. Any request that does not explicitely accept the terms will be assumed to have accepted.
1515

16-
#### Contributor Requirements:
17-
- **Library Attribution**: Every contribution must include a direct link and license information for all Python libraries used in the implementation.
18-
19-
- **Documentation**: Every data source connector must include comprehensive usage documentation in the README file, including:
20-
- Configuration options and parameters
21-
- Example code snippets
22-
- Connection requirements
23-
- Troubleshooting guidance
24-
25-
- **Demo Notebook**: Every source connector must provide a Databricks notebook that demonstrates practical usage of the connector with real-world examples.
26-
27-
- **Industry Tagging**: Contributors must identify and tag the relevant industries that could benefit from the connector (e.g., IoT, Manufacturing, Healthcare, Finance, etc.).
28-
29-
- **Contribution Process**: All contributions must follow the established contribution process, including:
30-
- Creating feature branches
31-
- Writing comprehensive tests
32-
- Submitting pull requests with detailed descriptions
33-
- Responding to code review feedback
34-
- Ensuring all CI/CD checks pass
35-
36-
#### Code Review Process
37-
38-
Code review takes place in GitHub pull requests. See [this article](https://help.github.com/articles/about-pull-requests/) if you're not familiar with GitHub Pull Requests.
39-
40-
Once you open a pull request, project maintainers will review your code and respond to your pull request with any feedback they might have. The process at this point is as follows:
41-
42-
1. An Approval is required from one of the project maintainers.
43-
2. Your change will be merged into the project's `main` branch
16+
### Best Practices
17+
1. Put data source into subfolder of root, e.g. `$/zipdcm`. Folder name is the shortname of your data source
18+
2. Every data source should live under the `dbx` package name. We may consider another sub-domain, e.g. `dbx.pds.<datasource short name>`
19+
3. Each connector lives some what independently, one connector doesn't break another.
20+
4. Each connector supports `Python 3.12`
21+
5. Each connector should have inline python docs to help out IDEs, AIs in connector usage.
22+
6. Error & Exception handling is critical. Start with input arguments. For exceptions, please include context except for where context could be sensitive (e.g. secrets)
23+
7. Meets style guideline is required (`black`, `isort`, ...)
24+
8. Add a Makefile with standard actions, e.g. dev, style, check, test, ...
25+
9. Every data source should have unit tests.
26+
10. Every data source should have an integration test, include open data set file examples, a downloader, or a setup script
27+
11. Every data source should have a `<data source name>-demo.ipynb` demo notebook
28+
12. Every data source has a README.md
29+
13. Every data source has a LICENSE.md file. Please ensure legal signs off on this. sub-components should be open source best case. Worst case, provide a downloader for a proprietary component. Do not package propietary components into this repo. Ask if in doubt.
30+
14. Every data source provides BYOL, bring your own lineage, this will distinguish these data sources from data sources for any other platform
31+
15. The main readme should summarize the connector's capabilities, perhaps with a check mark system for capabilities (e.g. :check:Read :check:Write :check:Readstream :check:Writestream)
32+
16. Support `pip install databricks-python-data-source[<shortname>]` where user selects individual connectors to install, avoid pulling in a mass of dependencies their use case doesn't need.
33+
17. Support installing from github.
34+
18. Support running after creating a github folder in Databricks.
35+
19. In connector README.md, and demo notebook, please document compute requirements and other environmental requirements.

0 commit comments

Comments
 (0)