diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 99c0309..54a75b2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -13,7 +13,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: [ "3.12", "3.13" ] + python-version: [ "3.11", "3.12", "3.13", "3.14" ] steps: diff --git a/README.md b/README.md index e59af76..ab29ffc 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,17 @@ -# Luno API [![Build Status](https://travis-ci.org/luno/luno-python.svg?branch=master)](https://travis-ci.org/luno/luno-python) +# Luno Python SDK + +[![Run Tests](https://github.com/luno/luno-python/actions/workflows/test.yml/badge.svg)](https://github.com/luno/luno-python/actions/workflows/test.yml) +[![PyPI version](https://img.shields.io/pypi/v/luno-python.svg)](https://pypi.org/project/luno-python/) +[![Python Versions](https://img.shields.io/pypi/pyversions/luno-python.svg)](https://pypi.org/project/luno-python/) +[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://github.com/luno/luno-python/blob/main/LICENSE.txt) + +[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=luno_luno-python&metric=alert_status)](https://sonarcloud.io/dashboard?id=luno_luno-python) +[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=luno_luno-python&metric=bugs)](https://sonarcloud.io/dashboard?id=luno_luno-python) +[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=luno_luno-python&metric=security_rating)](https://sonarcloud.io/dashboard?id=luno_luno-python) +[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=luno_luno-python&metric=vulnerabilities)](https://sonarcloud.io/dashboard?id=luno_luno-python) +[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=luno_luno-python&metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=luno_luno-python) This Python package provides a wrapper for the [Luno API](https://www.luno.com/api). @@ -28,6 +39,8 @@ except Exception as e: print(e) ``` +For more examples, see the [examples](./examples) folder. + ### License -[MIT](https://github.com/luno/luno-python/blob/master/LICENSE.txt) +[MIT](https://github.com/luno/luno-python/blob/main/LICENSE.txt) diff --git a/pyproject.toml b/pyproject.toml index 5423a21..ef13dd0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,7 +22,6 @@ skip_gitignore = true exclude_dirs = ["tests", "env", "build"] skips = [ "B101", # Skip assert_used check (common in tests) - "B107", # Skip hardcoded_password_default (empty string defaults are acceptable for optional credentials) ] [tool.pytest.ini_options] diff --git a/setup.py b/setup.py index cdf0021..c4a0a7a 100644 --- a/setup.py +++ b/setup.py @@ -1,5 +1,7 @@ """Setup script for luno-python package.""" +from pathlib import Path + from setuptools import find_packages, setup from luno_python import VERSION @@ -8,13 +10,24 @@ name="luno-python", version=VERSION, packages=find_packages(exclude=["tests"]), - description="A Luno API client for Python", + description="A Python client for the Luno cryptocurrency exchange API", + long_description=(Path(__file__).parent / "README.md").read_text(encoding="utf-8"), + long_description_content_type="text/markdown", author="Neil Garb", author_email="neil@luno.com", install_requires=["requests>=2.18.4", "six>=1.11.0"], license="MIT", url="https://github.com/luno/luno-python", download_url=f"https://github.com/luno/luno-python/tarball/{VERSION}", + python_requires=">=3.11", + classifiers=[ + "License :: OSI Approved :: MIT License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", + ], keywords="Luno API Bitcoin Ethereum", test_suite="tests", setup_requires=["pytest-runner"],