Skip to content

Commit 551cc4f

Browse files
authored
Merge pull request #119 from the-dotify-project/development
Development
2 parents fc00d13 + 99061cb commit 551cc4f

File tree

2 files changed

+34
-13
lines changed

2 files changed

+34
-13
lines changed

docs/CONTRIBUTING.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,14 +67,14 @@ Start by visiting the [Spotify Developer Portal](https://developer.spotify.com/d
6767

6868
The project utilizes the [pre-commit](https://pre-commit.com/) framework. Having [created a virtual environment and installed the required dependencies](#installing-poetry), you may run `pre-commit install` to install the [git hook scripts](https://github.com/the-dotify-project/dotify/blob/master/.pre-commit-config.yaml).
6969

70-
### Formatting, Linting and Testing
70+
### Using `tox`
7171

72-
All of the above can be done via [tox](https://tox.readthedocs.io/en/latest/config.html):
72+
> We are using [tox](https://tox.readthedocs.io/en/latest/index.html) to automate testing on multiple environments.
7373
7474
- You can lint the code by simply running `tox -e lint`
7575
- Checking for type errors, using [Mypy](https://mypy.readthedocs.io/en/stable/), can be achieved via `tox -e type-check`
7676
- Checking if your changes follow the project's formatting standard can be done via `tox -e fmt-check`
77-
- You may run `tox -e py38` in order to run the library's unit tests using Python 3.8 (the `py37`, `py38` and `py39` test environments assumes that you have **Python 3.7, 3.8 or 3.9** installed)
77+
- You may run `tox -e py38` to run the library's unit tests using Python 3.8 (the `py37`, `py38` and `py39` test environments assume, you have installed **Python 3.7, 3.8 or 3.9** accordingly)
7878
- Alternatively, you may simply run `tox` to execute all of the above
7979

8080
Note that in order to run the test suite, you must export your client credentials beforehand, as such
@@ -84,10 +84,16 @@ export SPOTIFY_ID="<SPOTIFY_ID>"
8484
export SPOTIFY_SECRET="<SPOTIFY_SECRET>"
8585
```
8686

87-
You may also utilize [direnv](https://direnv.net/), in order to avoid re-exporting them every time you spawn a new shell instance.
87+
You may also utilize [direnv](https://direnv.net/), so that you avoid re-exporting them every time you spawn a new shell instance.
8888

8989
_**ATTENTION**: Even though, using a `.envrc` file is far more convenient than re-exporting environment variables each and every time you open up a new shell, it is **strongly** recommended that, you prefer the first approach as you risk compromising your client credentials otherwise._
9090

91+
#### Using `poethepoet`
92+
93+
> We are using [poethepoet](https://github.com/nat-n/poethepoet), to perform various development oriented tasks.
94+
95+
Formatting, type-checking, running the test suite, as well as a few other operations, can be performed by running `poe <task>`. Please run `poe --help` (or `poetry run poe --help`), to list all available operations.
96+
9197
#### (Optional) Installing pyenv
9298

9399
[pyenv](https://github.com/pyenv/pyenv) is used, in the context of the **Dotify** project, in order to determine the project's compatibility with various versions of Python. Installing `pyenv` is not strictly required, but it is **strongly** recommended.

pyproject.toml

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
[tool.semantic_release]
2-
version_toml = "pyproject.toml:tool.poetry.version"
3-
changelog_components = "semantic_release.changelog.changelog_headers,semantic_release.changelog.compare_url"
4-
build_command = "python -m pip install poetry && poetry build"
5-
61
[tool.poetry]
72
name = "dotify"
83
version = "2.0.4"
@@ -12,6 +7,21 @@ authors = ["billsioros <[email protected]>"]
127
license = "MIT"
138
homepage = "https://the-dotify-project.github.io/dotify"
149
repository = "https://github.com/the-dotify-project/dotify"
10+
keywords = ["spotify", "download", "downloader", "youtube", "mp3"]
11+
classifiers = [
12+
"Intended Audience :: Developers",
13+
"License :: OSI Approved :: MIT License",
14+
"Programming Language :: Python",
15+
"Programming Language :: Python :: 3",
16+
"Programming Language :: Python :: 3 :: Only",
17+
"Programming Language :: Python :: 3.6",
18+
"Programming Language :: Python :: 3.7",
19+
"Programming Language :: Python :: 3.8",
20+
"Programming Language :: Python :: 3.9",
21+
"Topic :: Multimedia",
22+
"Topic :: Multimedia :: Sound/Audio",
23+
"Operating System :: OS Independent"
24+
]
1525

1626
[tool.poetry.urls]
1727
"Bug Tracker" = "https://github.com/the-dotify-project/dotify/issues"
@@ -52,9 +62,10 @@ mdx-truly-sane-lists = "^1.2"
5262
mike = "^1.0.1"
5363
poethepoet = "^0.10.0"
5464

55-
[build-system]
56-
requires = ["poetry-core>=1.0.0"]
57-
build-backend = "poetry.core.masonry.api"
65+
[tool.semantic_release]
66+
version_toml = "pyproject.toml:tool.poetry.version"
67+
changelog_components = "semantic_release.changelog.changelog_headers,semantic_release.changelog.compare_url"
68+
build_command = "python -m pip install poetry && poetry build"
5869

5970
[tool.vulture]
6071
min_confidence = 95
@@ -65,6 +76,10 @@ clean = { cmd = "rm -rf ./**/__pycache__ dist site .pytest_cache .mypy_cache .co
6576
format = { cmd = "poetry run isort .; poetry run black .", help = "Format your codebase" }
6677
hooks = { cmd = "poetry run pre-commit run --all-files", help = "Run all pre-commit hooks"}
6778
test = { cmd = "poetry run pytest --cov=dotify", help = "Run the test suite and produce a coverage report" }
68-
types = { cmd = "poetry run mypy dotify tests", help = "Run static type checking on your codebase" }
79+
type-check = { cmd = "poetry run mypy dotify tests", help = "Run static type checking on your codebase" }
6980
lint = { cmd = "poetry run flake8 .", help = "Lint your code for errors" }
7081
docs = { cmd = "poetry run mike serve", help = "Build and serve the documentation" }
82+
83+
[build-system]
84+
requires = ["poetry-core>=1.0.0"]
85+
build-backend = "poetry.core.masonry.api"

0 commit comments

Comments
 (0)