diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..b68620b --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,16 @@ +{ + "name": "Xurrent Python Dev Container", + "image": "mcr.microsoft.com/devcontainers/base:ubuntu", + "features": { + "ghcr.io/devcontainers/features/common-utils:2": {} + }, + "postCreateCommand": "bash .devcontainer/setup.sh", + "customizations": { + "vscode": { + "extensions": [ + "elagil.pre-commit-helper", + "ms-python.python" + ] + } + } +} diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh new file mode 100755 index 0000000..4f5323a --- /dev/null +++ b/.devcontainer/setup.sh @@ -0,0 +1,14 @@ +@echo off + + +echo "Install poetry" +pip install poetry + +echo "Install project dependencies including dev dependencies" +poetry install --with dev + +echo "Activate poetry virtual environment and open shell" +eval $(poetry env activate) + +echo "Install pre-commit hooks" +pre-commit install \ No newline at end of file diff --git a/.gitignore b/.gitignore index 6898463..2db1ea9 100644 --- a/.gitignore +++ b/.gitignore @@ -163,4 +163,8 @@ cython_debug/ #.idea/ # poetry -poetry.lock \ No newline at end of file +poetry.lock + +# diff files +*.diff +diff* \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index c11079f..bfcd672 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,42 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [Unreleased] + +### Added + +#### `.devcontainer/devcontainer.json` +- Introduced a new Visual Studio Code **development container** configuration to streamline the development environment. + - Uses the base Ubuntu image from Microsoft's devcontainers. + - Adds common development utilities via `common-utils` feature. + - Installs VS Code extensions: + - `elagil.pre-commit-helper` + - `ms-python.python` + - Runs `.devcontainer/setup.sh` post container creation for environment setup. + +#### `.devcontainer/setup.sh` +- Added a setup script for the development container: + - Installs **Poetry** package manager. + - Installs all project dependencies, including development dependencies. + - Activates the Poetry virtual environment and opens a shell. + - Installs **pre-commit hooks** for code quality enforcement. + +### Changed + +#### `Contributing.md` +- Updated instructions for activating the Poetry virtual environment: + - Changed from `poetry shell` to `eval $(poetry env activate)` for improved shell compatibility and automation. + +#### `README.md` +- Added badges to the top of the README for enhanced project visibility: + - **PyPI version** badge. + - **PyPI downloads** badge. + - **GPL v3 License** badge. + +#### `pyproject.toml` +- Added new dependency: + - `shell` package (`^1.0.1`) for enhanced shell scripting and command execution capabilities within the project. + ## [0.6.0] - 2025-02-24 ### Changed diff --git a/Contributing.md b/Contributing.md index 26139bb..dc2bdd8 100644 --- a/Contributing.md +++ b/Contributing.md @@ -5,12 +5,12 @@ 1. Clone the repository 2. pip install poetry 3. poetry install --with dev -4. poetry shell +4. eval $(poetry env activate) 5. pre-commit install ## Activate the virtual environment ```bash -poetry shell +eval $(poetry env activate) ``` diff --git a/README.md b/README.md index f687873..cfe8fd6 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,10 @@ # Xurrent Module +[![PyPI version](https://img.shields.io/pypi/v/xurrent)](https://pypi.org/project/xurrent/) +[![Downloads](https://img.shields.io/pypi/dm/xurrent)](https://pypistats.org/packages/xurrent) +[![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) + + This module is used to interact with the Xurrent API. It provides a set of classes to interact with the API. ## Change Log diff --git a/pyproject.toml b/pyproject.toml index c3c3089..d0263c0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "xurrent" -version = "0.6.0" +version = "0.7.0-preview.2" authors = [ { name="Fabian Steiner", email="fabian@stei-ner.net" }, ] @@ -18,7 +18,7 @@ Homepage = "https://github.com/fasteiner/xurrent-python" Issues = "https://github.com/fasteiner/xurrent-python/issues" [tool.poetry] name = "xurrent" -version = "0.6.0" +version = "0.7.0-preview.2" description = "A python module to interact with the Xurrent API." authors = ["Ing. Fabian Franz Steiner BSc. "] readme = "README.md" @@ -33,6 +33,7 @@ pytest = "^8.3.4" python-dotenv = "^1.0.1" mock = "^5.1.0" pre-commit = "^4.0.1" +shell = "^1.0.1" [build-system] requires = ["poetry-core"]