Skip to content

Commit dc85ca8

Browse files
authored
Update CONTRIBUTING.md (#1299)
1 parent d59b543 commit dc85ca8

File tree

1 file changed

+40
-3
lines changed

1 file changed

+40
-3
lines changed

.github/CONTRIBUTING.md

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,14 @@ based on its use in the README file for the
3232
## Usage questions
3333

3434
The best place to submit questions about how to use folium is via the
35-
[gitter](https://gitter.im/python-visualization/folium) channel.
35+
[gitter](https://gitter.im/python-visualization/folium) channel or on
36+
[Stackoverflow](https://stackoverflow.com/questions/tagged/folium).
3637
Usage question in the issue tracker will probably go unanswered.
3738

3839
## Reporting issues
3940

40-
When reporting issues please include as much detail as possible regarding the folium and python version, use of notebooks, etc.
41-
Whenever possible, please also include a [short, self-contained code example](http://sscce.org) that demonstrates the problem.
41+
When reporting issues please include as much detail as possible regarding the folium and python version, use of notebooks, errors in Python, errors in your browser console, etc.
42+
Whenever possible, please also include a [short, self-contained code example](http://sscce.org) that demonstrates the problem. Don't forget a data snippet or link to your dataset.
4243

4344
## Contributing code
4445

@@ -88,3 +89,39 @@ The basic workflow for contributing is:
8889
git push origin name-of-your-branch
8990
```
9091
11. [Open a pull request](https://help.github.com/articles/creating-a-pull-request/) to the python-visualization/folium
92+
93+
Since we're all volunteers please help us by making your PR easy to review. That means having a clear description and only touching code that's necessary for your change.
94+
95+
## Plugin acceptence criteria
96+
97+
If you have a Leaflet plugin you would like to include in folium's plugins, please
98+
check these criteria to see if it's a good candidate.
99+
100+
Criteria for the Leaflet plugin:
101+
- the plugin provides interesting new functionality.
102+
- the plugin is not abandoned. It's okay if not all issues or PR's are being
103+
processed, as long as there are no critical bugs or fixes being ignored.
104+
105+
Criteria for the Python wrapper:
106+
- the template is simple.
107+
- the class has not much logic, just passing some things to the template.
108+
- no/little integration with other folium classes.
109+
110+
As well as these criteria for the process:
111+
112+
- the contributor communicates well.
113+
- the PR is of reasonably good quality.
114+
115+
The *final* PR should contain:
116+
117+
- a new module in `folium/plugins` with the plugin class, with docstring
118+
- importing that class in `folium/plugins/__init__.py`
119+
- a test in `tests/plugins/test_[new plugin module].py`
120+
- an entry in the plugins gallery notebook `examples/Plugins.ipynb`
121+
- optionally, a separate example notebook to show more usage examples
122+
123+
Before doing all this work it's a good idea to open a PR with just the plugin
124+
to discuss whether it's something to include in folium.
125+
126+
If your plugin is not a good fit for folium, you should consider publishing your
127+
plugin yourself! We can link to your plugin so users can find it.

0 commit comments

Comments
 (0)