refactor: migrate package management from poetry to pep 621 standard

Migrate package metadata and dependency configuration from Poetry to
PEP 621 standard using flit_core backend. Update documentation with
production and development setup instructions using venv, pip, or uv.

- update pyproject.toml to PEP 621 format with flit_core build-system
- bump minimum dependency versions to latest PyPI releases
- revise README.md with production and development setup guides
This commit is contained in:
2026-07-25 19:41:17 +09:00
parent 8e03f7a7f4
commit 1a4023ba47
2 changed files with 67 additions and 30 deletions
+34 -2
View File
@@ -2,10 +2,42 @@
The mdrs-client-python is python library and a command-line client for up- and downloading files to and from MDRS based repository. The mdrs-client-python is python library and a command-line client for up- and downloading files to and from MDRS based repository.
## Installing ## Installation (Production)
It is recommended to use a virtual environment (`venv`) to keep your Python environment isolated.
### Option 1: Using standard `venv` + `pip`
```shell ```shell
poetry install python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install .
```
### Option 2: Using `uv`
```shell
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install .
```
## Development Setup
To set up a local development environment with development tools (testing, formatting, linting):
### Option 1: Using standard `venv` + `pip`
```shell
python3 -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e ".[dev]"
```
### Option 2: Using `uv` (Recommended for developers)
```shell
uv sync
``` ```
## CLI Usage ## CLI Usage
+33 -28
View File
@@ -1,11 +1,21 @@
[tool.poetry] [build-system]
requires = ["flit_core>=3.12.0,<4.0.0"]
build-backend = "flit_core.buildapi"
[tool.flit.module]
name = "mdrsclient"
[project]
name = "mdrs-client-python" name = "mdrs-client-python"
version = "1.3.18" version = "1.3.18"
description = "The mdrs-client-python is python library and a command-line client for up- and downloading files to and from MDRS based repository." description = "The mdrs-client-python is python library and a command-line client for up- and downloading files to and from MDRS based repository."
authors = ["Yoshihiro OKUMURA <yoshihiro.okumura@riken.jp>"] authors = [
license = "MIT" { name = "Yoshihiro OKUMURA", email = "yoshihiro.okumura@riken.jp" }
]
license = { text = "MIT" }
readme = "README.md" readme = "README.md"
classifiers=[ requires-python = ">=3.10"
classifiers = [
"Development Status :: 4 - Beta", "Development Status :: 4 - Beta",
"Environment :: Console", "Environment :: Console",
"Intended Audience :: Developers", "Intended Audience :: Developers",
@@ -18,33 +28,28 @@ classifiers=[
"OSI Approved :: MIT License", "OSI Approved :: MIT License",
"Topic :: Utilities", "Topic :: Utilities",
] ]
packages = [
{ include = "mdrsclient" } dependencies = [
"requests>=2.34.2",
"requests-toolbelt>=1.0.0",
"python-dotenv>=1.2.2",
"pydantic>=2.13.4",
"pydantic-settings>=2.14.2",
"PyJWT>=2.13.0",
"validators>=0.35.0",
] ]
[tool.poetry.dependencies] [project.optional-dependencies]
python = "^3.10" dev = [
requests = "^2.34.2" "black>=26.5.1",
requests-toolbelt = "^1.0.0" "flake8>=7.3.0",
python-dotenv = "^1.1.0" "Flake8-pyproject>=1.2.4",
pydantic = "^2.13.4" "isort>=8.0.1",
pydantic-settings = "^2.14.2" "pyright>=1.1.411",
PyJWT = "^2.13.0" ]
validators = "^0.35.0"
[tool.poetry.group.dev.dependencies] [project.scripts]
black = "^26.5.1" mdrs = "mdrsclient.__main__:main"
flake8 = "^7.2.0"
Flake8-pyproject = "^1.2.3"
isort = "^8.0.1"
pyright = "^1.1.411"
[tool.poetry.scripts]
mdrs = 'mdrsclient.__main__:main'
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.black] [tool.black]
line-length = 120 line-length = 120