chore(release): prepare 0.1.0 release - #8
Merged
Conversation
- setup.py now reads __version__ from currentsapi/__init__.py so the version can no longer drift between the two files. - Replace deprecated tests_require with an extras_require 'dev' extra. - Remove setup.cfg: description-file is deprecated and the universal wheel flag is wrong for a Python 3-only package (wheels now build as py3-none-any).
…ndling - State that the PyPI distribution name is 'currentsapi' while the repository is 'currentsapi-python', matching the 0.0.1/0.0.2 releases. - Note Python 3.8+ support (mirrors python_requires). - Document CurrentsAPIError and its status/code/message accessors.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Release-readiness alignment for the
0.1.0publication of thecurrentsapiSDK. Nothing was published to PyPI; this PR only aligns metadata/docs and proves the artifacts build, check, and install cleanly.Evidence: PyPI 0.0.2 vs this repo
Verified live via
https://pypi.org/pypi/<name>/json(not from memory):currentsapi(currentsapi-0.0.2-py2.py3-none-any.whl)currentsapi(unchanged, correct)currentsapi-pythonon PyPIpip install currentsapi-python— a bug; that name was never on PyPIpip install currentsapi(correct)requests==2.21.0,python-dateutil==2.8.0requests>=2.25.0,python-dateutil>=2.8.0python_requires>=3.8, classifiers 3.8–3.12, CI matrix 3.8–3.12currentsapi-dev/currentsapi-pythoncurrentslab/currentsapi-pythonAPIExceptionw/get_status()etc.; nodomain/version/timeout; 3 endpointsCurrentsAPIErrorw/.status/.code/.message;domain/version/timeoutctor args; 5 endpointsCanonical distribution name decision: keep
currentsapi. It matchessetup.py, it is the name this project already owns on PyPI (0.0.1/0.0.2 published by Zhi Rui Tam, home page pointing at this project), andcurrentsapi-pythonis unregistered.0.0.2 sdist was downloaded and compared:
APIException→CurrentsAPIError, constructor gaineddomain/version/timeout,search()params aligned,available_*endpoints added, dependency pins relaxed.Changes in this PR
fix(packaging): version single-sourced (setup.pyreads__version__fromcurrentsapi/__init__.py); deprecatedtests_requirereplaced byextras_require["dev"]; obsoletesetup.cfgremoved (deprecateddescription-file, anduniversal=1was wrong for a py3-only package — wheels now build aspy3-none-any).docs(readme): states the distribution name vs repo name explicitly, notes Python 3.8+, documentsCurrentsAPIErrorhandling. Quick-start verified against source (CurrentsAPI(api_key=...),latest_news,search,available_languages/regions/category).docs(changelog): 0.1.0 section extended with the packaging alignment; all existing entries fact-checked against the tree (endpoints, CI workflow,unittest.mocktests, removedsearch()params).Validation
python3 -m pytest tests/ -q→ 40 passed (Python 3.13.11, Linux x64).python -m build→dist/currentsapi-0.1.0-py3-none-any.whl+dist/currentsapi-0.1.0.tar.gz;twine check dist/*→ PASSED for both. Wheel contains only thecurrentsapipackage (no tests/examples leakage); sdist ships sources + LICENSE + tests.python3 -m venv /tmp/sdk-smoke+pip install dist/currentsapi-0.1.0-py3-none-any.whl):from currentsapi import CurrentsAPI, __version__, instantiated with a dummy key, verified endpoint URLs and that all README-documented methods exist, and imported both example modules (company_news_monitor,source_linked_briefing) — no network calls, no credentials.pip show→ Namecurrentsapi, Version0.1.0.Flags
python_requires=">=3.8"does not exclude 3.13 and everything passed, but classifiers/CI are the owner's call — not changed here.Owner checklist to actually publish (nothing below has been done)
currentsapi(project page shows Zhi Rui Tam / currentsapi-dev as 2019 uploader): ensure the publishing account has maintainer rights on thecurrentsapiproject on PyPI.twinecredentials or CI secrets:TWINE_USERNAME=__token__/TWINE_PASSWORD=<pypi-api-token>(or configure Trusted Publishing on the GitHub workflow)..github/workflows/publish.yml) triggered on tag, then tagv0.1.0.python -m build), re-runtwine check dist/*, andtwine upload dist/*(or run the publish workflow).pip install currentsapiresolves to 0.1.0.No package was uploaded, no PyPI state was modified, and no credentials were accessed.