Skip to content
This repository was archived by the owner on Apr 13, 2024. It is now read-only.

Commit f063e36

Browse files
authored
Merge branch 'main' into dependabot/pip/dot-github/workflows/pip-23.2
2 parents 6c379b4 + a885d37 commit f063e36

9 files changed

+164
-80
lines changed

.github/ISSUE_TEMPLATE/bug_report.md

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve
4+
title: ""
5+
labels: "needs triage"
6+
assignees: "openfinch"
7+
---
8+
9+
**Describe the bug**
10+
A clear and concise description of what the bug is.
11+
12+
**To Reproduce**
13+
Steps to reproduce the behavior:
14+
15+
**Expected behavior**
16+
A clear and concise description of what you expected to happen.
17+
18+
**Stacktrace**
19+
If applicable, add a stacktrace to help explain your problem.
20+
21+
**Environment (please complete the following information):**
22+
23+
- OS: [e.g. iOS]
24+
- Python version: [e.g. 3.11, 3.7]
25+
- Python-JMAP Version: [e.g. 0.0.2]
26+
27+
**Additional context**
28+
Add any other context about the problem here.
+19
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
name: Feature request
3+
about: Suggest an improvement for this project
4+
title: ''
5+
labels: 'needs triage'
6+
assignees: '@openfinch'
7+
---
8+
9+
**Is your feature request related to a problem? Please describe.**
10+
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
11+
12+
**Describe the solution you'd like**
13+
A clear and concise description of what you want to happen.
14+
15+
**Describe alternatives you've considered**
16+
A clear and concise description of any alternative solutions or features you've considered.
17+
18+
**Additional context**
19+
Add any other context or screenshots about the feature request here.

.github/labels.yml

+3
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@
6161
- name: testing
6262
description: Testing
6363
color: b1fc6f
64+
- name: needs triage
65+
description: This issue requires triage
66+
color: bfd4f2
6467
- name: wontfix
6568
description: This will not be worked on
6669
color: ffffff

.github/pull_request_template.md

+13
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
🚨 Please review the [guidelines for contributing](https://github.com/boopmail/python-jmap/blob/main/CONTRIBUTING.md) to this repository.
2+
3+
### Checklist
4+
5+
- [ ] Ensure you are requesting to **pull a feature/bugfix branch** (right side). Please do not request from your trunk!
6+
- [ ] Ensure you are making a pull request against the **`main` branch** (left side).
7+
- [ ] Refer to the [guidelines for contributing](https://github.com/boopmail/python-jmap/blob/main/CONTRIBUTING.md) to confirm that you are meeting our code-style requirements.
8+
- [ ] Ensure your code additions will pass our linting and test suite; you can verify this locally by running `nox`.
9+
- [ ] Verify that your code aligns with the [JMAP specification](https://jmap.io/spec.html).
10+
11+
### Description
12+
13+
> Please describe your pull request, making reference to the [JMAP specification](https://jmap.io/spec.html) where relevant.

.github/release-drafter.yml

+13
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,16 @@ template: |
2727
## Changes
2828
2929
$CHANGES
30+
version-resolver:
31+
major:
32+
labels:
33+
- "major"
34+
minor:
35+
labels:
36+
- "minor"
37+
patch:
38+
labels:
39+
- "patch"
40+
default: patch
41+
name-template: "v$RESOLVED_VERSION"
42+
tag-template: "v$RESOLVED_VERSION"

.github/workflows/release-stable.yml

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: Release
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
release:
9+
name: Release to PyPI
10+
if: startsWith(github.ref, 'refs/tags/')
11+
runs-on: ubuntu-latest
12+
environment:
13+
name: PyPI
14+
url: https://pypi.org/p/python-jmap
15+
permissions:
16+
id-token: write
17+
contents: write
18+
steps:
19+
- name: Check out the repository
20+
uses: actions/checkout@v3
21+
with:
22+
fetch-depth: 2
23+
24+
- name: Set up Python
25+
uses: actions/[email protected]
26+
with:
27+
python-version: "3.10"
28+
29+
- name: Upgrade pip
30+
run: |
31+
pip install --constraint=.github/workflows/constraints.txt pip
32+
pip --version
33+
34+
- name: Install Poetry
35+
run: |
36+
pip install --constraint=.github/workflows/constraints.txt poetry
37+
poetry --version
38+
39+
- name: Bump version for release release
40+
run: |
41+
version=${GITHUB_REF#refs/*/}
42+
poetry version $version
43+
44+
- name: Build package
45+
run: |
46+
poetry build --ansi
47+
48+
- name: Publish package on PyPI
49+
uses: pypa/[email protected]

.github/workflows/release.yml renamed to .github/workflows/release-unstable.yml

-46
Original file line numberDiff line numberDiff line change
@@ -7,52 +7,6 @@ on:
77
- master
88

99
jobs:
10-
release:
11-
name: Release to PyPI
12-
if: startsWith(github.ref, 'refs/tags/')
13-
runs-on: ubuntu-latest
14-
environment:
15-
name: PyPI
16-
url: https://pypi.org/p/python-jmap
17-
permissions:
18-
id-token: write
19-
contents: write
20-
steps:
21-
- name: Check out the repository
22-
uses: actions/checkout@v3
23-
with:
24-
fetch-depth: 2
25-
26-
- name: Set up Python
27-
uses: actions/[email protected]
28-
with:
29-
python-version: "3.10"
30-
31-
- name: Upgrade pip
32-
run: |
33-
pip install --constraint=.github/workflows/constraints.txt pip
34-
pip --version
35-
36-
- name: Install Poetry
37-
run: |
38-
pip install --constraint=.github/workflows/constraints.txt poetry
39-
poetry --version
40-
41-
- name: Build package
42-
run: |
43-
poetry build --ansi
44-
45-
- name: Publish package on PyPI
46-
uses: pypa/[email protected]
47-
48-
- name: Publish the release notes
49-
uses: release-drafter/[email protected]
50-
with:
51-
publish: true
52-
tag: ${{ github.ref }}
53-
env:
54-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
55-
5610
test-release:
5711
name: Release to TestPyPI
5812
if: "!startsWith(github.ref, 'refs/tags/')"

README.md

+39-34
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
# Python JMAP Bindings
1+
<p align="center">
2+
<a href="https://github.com/boopmail/python-jmap" rel="noopener">
3+
<img width=200px height=200px src="https://github.com/boopmail/python-jmap/blob/main/docs/python-jmap-logo.png" alt="Python-JMAP logo"></a>
4+
</p>
5+
6+
<h3 align="center">Python-JMAP</h3>
7+
8+
<div align="center">
29

310
[![PyPI](https://img.shields.io/pypi/v/python-jmap.svg)][pypi status]
411
[![Status](https://img.shields.io/pypi/status/python-jmap.svg)][pypi status]
@@ -19,53 +26,51 @@
1926
[pre-commit]: https://github.com/pre-commit/pre-commit
2027
[black]: https://github.com/psf/black
2128

22-
## Features
23-
24-
- TODO
29+
</div>
2530

26-
## Requirements
31+
---
2732

28-
- TODO
33+
<p align="center"> Pydantic-enabled client bindings for the JSON Meta Application Protocol (JMAP).
34+
<br>
35+
</p>
2936

30-
## Installation
37+
## 📝 Table of Contents
3138

32-
You can install _Python JMAP Bindings_ via [pip] from [PyPI]:
39+
- [About](#about)
40+
- [Usage](#usage)
41+
- [Built Using](#built_using)
42+
- [TODO](../TODO.md)
43+
- [Contributing](../CONTRIBUTING.md)
44+
- [Authors](#authors)
45+
- [Acknowledgments](#acknowledgement)
3346

34-
```console
35-
$ pip install python-jmap
36-
```
37-
38-
## Usage
47+
## 🧐 About <a name = "about"></a>
3948

40-
Please see the [Command-line Reference] for details.
49+
Python-JMAP is provides a client interface for the JSON Meta Application Protocol (JMAP), built
50+
around the data validation and type conversion features of Pydantic. It implements the Core and Mail
51+
specifications, with Calendar and Contacts on the roadmap.
4152

42-
## Contributing
53+
## 🎈 Usage <a name="usage"></a>
4354

44-
Contributions are very welcome.
45-
To learn more, see the [Contributor Guide].
55+
Install with
4656

47-
## License
57+
```shell
58+
pip install python-jmap
59+
```
4860

49-
Distributed under the terms of the [MIT license][license],
50-
_Python JMAP Bindings_ is free and open source software.
61+
- [Documentation](https://python-jmap.readthedocs.io/en/latest/)
5162

52-
## Issues
63+
## ⛏️ Built Using <a name = "built_using"></a>
5364

54-
If you encounter any problems,
55-
please [file an issue] along with a detailed description.
65+
- [Pydantic](https://docs.pydantic.dev/latest/) - Pydantic
5666

57-
## Credits
67+
## ✍️ Authors <a name = "authors"></a>
5868

59-
This project was generated from [@cjolowicz]'s [Hypermodern Python Cookiecutter] template.
69+
- [@openfinch](https://github.com/openfinch) - Idea & Initial work
6070

61-
[@cjolowicz]: https://github.com/cjolowicz
62-
[pypi]: https://pypi.org/
63-
[hypermodern python cookiecutter]: https://github.com/cjolowicz/cookiecutter-hypermodern-python
64-
[file an issue]: https://github.com/boopmail/python-jmap/issues
65-
[pip]: https://pip.pypa.io/
71+
See also the list of [contributors](https://github.com/boopmail/python-jmap/contributors) who participated in this project.
6672

67-
<!-- github-only -->
73+
## 🎉 Acknowledgements <a name = "acknowledgement"></a>
6874

69-
[license]: https://github.com/boopmail/python-jmap/blob/main/LICENSE
70-
[contributor guide]: https://github.com/boopmail/python-jmap/blob/main/CONTRIBUTING.md
71-
[command-line reference]: https://python-jmap.readthedocs.io/en/latest/usage.html
75+
- Repository template - [cjolowicz/cookiecutter-hypermodern-python](https://github.com/cjolowicz/cookiecutter-hypermodern-python)
76+
- README, PR and Issue templates - [kylelobo/The-Documentation-Compendium](https://github.com/kylelobo/The-Documentation-Compendium)

docs/python-jmap-logo.png

20.5 KB
Loading

0 commit comments

Comments
 (0)