Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ jobs:

strategy:
matrix:
python-version: ["3.7", "3.9"]
python-version: ["3.10", "3.12", "3.14"]

steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}

Expand All @@ -26,4 +26,4 @@ jobs:
run: python -m coverage run -m unittest discover

- name: Upload coverage to Coveralls
uses: coverallsapp/github-action@v2
uses: coverallsapp/github-action@v2
27 changes: 27 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Changelog

All notable changes to this project will be documented in this file.

## [1.1.0] - 2026-02-13

### Added
- Python 3.14 support
- Python version classifiers in package metadata (3.10-3.14)
- `python_requires` constraint in setup.py
- CHANGELOG.md

### Changed
- Minimum Python version raised from 3.5 to 3.10
- Dockerfile updated to use `python:3.14-alpine` base image
- GitHub Actions CI matrix updated to test Python 3.10, 3.12, and 3.14
- GitHub Actions updated to use `actions/checkout@v4` and `actions/setup-python@v5`
- Modernized class syntax (removed redundant `object` inheritance)
- Fixed `author_name` to `author` in setup.py (correct setuptools field)
- Fixed unclosed file handle in setup.py (now uses context manager)

### Removed
- Support for Python 3.5-3.9 (all EOL)

## [1.0.4] - Previous release

- Initial tracked version
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM python:3-alpine
FROM python:3.14-alpine

WORKDIR /app

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,8 +29,8 @@ Alternatively keep reading below.

#### Prerequisites

- Minimum Python version 3.5
- Last tested and working on Python 3.11.5
- Minimum Python version 3.10
- Last tested and working on Python 3.14
- Free or Paid account with CurrencyApi.net

#### Test Coverage
Expand Down
2 changes: 1 addition & 1 deletion currencyapinet/currency.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from currencyapinet.endpoints.timeframe import Timeframe
from currencyapinet.endpoints.currencies import Currencies

class Currency(object):
class Currency:
def __init__(self, api_key: str):
self._api_key = api_key

Expand Down
2 changes: 1 addition & 1 deletion currencyapinet/endpoints/endpoint.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
DEFAULT_OUTPUT = 'JSON'
XML_OUTPUT = 'XML'

class Endpoint(object):
class Endpoint:
def __init__(self, api_key: str, endpoint: str):
self.api_key = api_key
self.endpoint = endpoint.lower()
Expand Down
15 changes: 11 additions & 4 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,26 +1,33 @@
from setuptools import setup, find_packages
from os.path import abspath, dirname, join

README_MD = open(join(dirname(abspath(__file__)), "README.md")).read()
with open(join(dirname(abspath(__file__)), "README.md")) as f:
README_MD = f.read()

setup(
name="currencyapinet",
version="1.0.4",
version="1.1.0",
packages=find_packages(exclude="tests"),
description="Python wrapper for CurrencyApi.net",
long_description=README_MD,
long_description_content_type="text/markdown",
url="https://currencyapi.net/sdk/python",
author_name="Oli Girling",
author="Oli Girling",
author_email="support@currencyapi.net",
python_requires=">=3.10",
classifiers=[
"License :: OSI Approved :: MIT License",
"Intended Audience :: Developers",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Software Development :: Libraries :: Python Modules",
],
install_requires=[
"requests"
],
keywords="currency feed, currency rates, currencyapi, currency",
)
)