Skip to content

Commit 51369dc

Browse files
authored
Add contribution guidelines and list of contributors (#18)
1 parent 5851ddf commit 51369dc

File tree

3 files changed

+98
-4
lines changed

3 files changed

+98
-4
lines changed

AUTHORS.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Authors and Contributors
2+
3+
`codetiming` is written and maintained by the [_Real Python_ team](https://realpython.com/team/).
4+
5+
6+
## Author and Maintainer
7+
8+
- [Geir Arne Hjelle](https://github.com/gahjelle)
9+
10+
11+
## Contributors
12+
13+
- [Jan Freyberg](https://github.com/janfreyberg)
14+
15+
16+
See the [changelog](https://github.com/realpython/codetiming/blob/master/CHANGELOG.md) for more details.

CHANGELOG.md

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,24 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

77

8-
## [Unreleased](compare/v1.0.0...HEAD)
8+
## [Unreleased]
99

1010
### Added
1111

12-
- `.last` attribute with the value of the last measured time (by [@janfreyberg](https://github.com/janfreyberg) in [#13](pull/13)).
13-
- `CHANGELOG.md` detailing changes made to `codetiming` since its initial publication.
12+
- `.last` attribute with the value of the last measured time (by [@janfreyberg](https://github.com/janfreyberg) in [#13]).
13+
- `CHANGELOG.md` detailing changes made to `codetiming` since its initial publication ([#17]).
14+
- `CONTRIBUTING.md` with guidelines on how to work with `codetiming` as a developer ([#18]).
15+
- `AUTHORS.md` with a list of maintainers and contributors ([#18])
1416

1517

16-
## [1.0.0](releases/tag/v1.0.0) - 2019-12-31
18+
## [1.0.0](https://github.com/realpython/codetiming/releases/tag/v1.0.0) - 2019-12-31
1719

1820
Initial version of `codetiming`. Version 1.0.0 corresponds to the code in the tutorial [Python Timer Functions: Three Ways to Monitor Your Code](https://realpython.com/python-timer/).
21+
22+
23+
[Unreleased]: https://github.com/realpython/codetiming/compare/v1.0.0...HEAD
24+
[1.0.0]: https://github.com/realpython/codetiming/releases/tag/v1.0.0
25+
26+
[#13]: https://github.com/realpython/codetiming/pull/13
27+
[#17]: https://github.com/realpython/codetiming/pull/17
28+
[#18]: https://github.com/realpython/codetiming/pull/18

CONTRIBUTING.md

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
# Contributing to `codetiming`
2+
3+
Thank you for considering to contribute to `codetiming`. This guide is meant to help you find your way around the project, and let you know which standards that are used.
4+
5+
If you are looking for tutorials or tips on how to use `codetiming`, have a look at the [documentation](https://github.com/realpython/codetiming/blob/master/README.md) and the accompanying article [Python Timer Functions: Three Ways to Monitor Your Code](https://realpython.com/python-timer/).
6+
7+
8+
# Reporting Issues or Suggesting New Features
9+
10+
Have you found an issue with `codetiming`, or do you have a suggestion for a new feature? Great! Have a look at the [known issues](https://github.com/realpython/codetiming/issues/new) to see if anyone has reported it already. If not, please post a [new issue](https://github.com/realpython/codetiming/issues/new).
11+
12+
When reporting an issue, please include as much of the following information as possible:
13+
14+
- Your version of `codetiming`: `print(codetiming.__version__)`
15+
- Your version of Python: `print(sys.version)`
16+
- Your operating system
17+
- A description of your issue, ideally including a short code snippet that reproduces the issue
18+
19+
When suggesting a new feature, try to include an example of how your feature could be used.
20+
21+
22+
# Contributing Code
23+
24+
Do you want to contribute code to `codetiming`? Fantastic! We welcome contributions as **pull requests**.
25+
26+
27+
## Setting Up Your Environment
28+
29+
`codetiming` uses [`flit`](https://flit.readthedocs.io) for package management. You should first install `flit`:
30+
31+
```
32+
$ python -m pip install flit
33+
```
34+
35+
You can then install `codetiming` locally for development with `flit`:
36+
37+
```
38+
$ python -m flit install --pth-file --deps all
39+
```
40+
41+
This will install `codetiming` and all its dependencies, including development tools like [`black`](https://black.readthedocs.io) and [`mypy`](http://mypy-lang.org/). The `--pth-file` option allows you to test your changes without reinstalling. On Linux and Mac, you can use `--symlink` for the same effect.
42+
43+
44+
## Running Tests
45+
46+
Run tests using [`tox`](https://tox.readthedocs.io/). `tox` helps to enforce the following principles:
47+
48+
- Consistent code style using [`black`](https://black.readthedocs.io). You can automatically format your code as follows:
49+
50+
```
51+
$ black codetiming/
52+
```
53+
54+
- Static type hinting using [`mypy`](http://mypy-lang.org/). Test your type hints as follows:
55+
56+
```
57+
$ mypy --strict codetiming/
58+
```
59+
60+
See Real Python's [Python Type Checking guide](https://realpython.com/python-type-checking/) for more information.
61+
62+
- Unit testing using [`pytest`](https://docs.pytest.org/). You can run your tests and see a coverage report as follows:
63+
64+
```
65+
$ pytest --cov=codetiming --cov-report=term-missing
66+
```
67+
68+
Feel free to ask for help in your PR if you are having challenges with any of these tests.

0 commit comments

Comments
 (0)