2 Commits
Author SHA1 Message Date
orrisroot 1a4023ba47 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
2026-07-25 19:41:17 +09:00
orrisroot 8e03f7a7f4 docs(changelog): update older release histories with actual changes
Historically, several versions in the changelog only had generic
version bump messages. This update fills in the missing details of
actual features and bug fixes by referencing the Git commit log.

- Add specific change logs for versions v1.3.3 through v1.3.15
- Include missing details for features like new command-line options
- Document bug fixes for API pagination, normalization, and downloads
2026-07-03 01:29:32 +09:00
3 changed files with 98 additions and 47 deletions
+31 -17
View File
@@ -37,36 +37,41 @@ All notable changes to this project will be documented in this file.
## [1.3.15] - 2026-05-01 ## [1.3.15] - 2026-05-01
### Changed ### Fixed
- Bumped package version to 1.3.15. - Apply NFC normalization to filenames and folder names sent to the server.
## [1.3.14] - 2026-04-17 ## [1.3.14] - 2026-04-17
### Changed ### Changed
- Simplified `config list` command (removed `-l`/`--long` option, always display URL). - Simplified `config list` command (removed `-l`/`--long` option, always display URL).
- Renamed `--quick` option to `--quiet` for `ls` subcommand.
### Added ### Added
- Added subcommand aliases for config commands (e.g. `ls` alias for list, `rm` alias for delete). - Added subcommand aliases for config commands (e.g. `ls` alias for list, `rm` alias for delete).
- Added `version` command.
## [1.3.13] - 2025-07-02 ## [1.3.13] - 2025-07-02
### Changed ### Fixed
- Bumped package version to 1.3.13. - Fixed pagination logic for the `file.list` API.
## [1.3.12] - 2025-05-20 ## [1.3.12] - 2025-05-20
### Changed ### Fixed
- Bumped package version to 1.3.12. - Fixed bug where file downloading was skipped incorrectly when `-s`/`--skip-if-file-exists` option was present.
## [1.3.11] - 2025-01-21 ## [1.3.11] - 2025-01-21
### Changed ### Fixed
- Bumped package version to 1.3.11. - Follow-up fixes for User API specification changes.
## [1.3.10] - 2024-12-23 ## [1.3.10] - 2024-12-23
### Added
- Delete broken files and show a summary when a file download fails.
### Changed ### Changed
- Bumped package version to 1.3.10. - Updated dependency libraries.
## [1.3.9] - 2024-10-23 ## [1.3.9] - 2024-10-23
@@ -75,8 +80,11 @@ All notable changes to this project will be documented in this file.
## [1.3.8] - 2024-09-18 ## [1.3.8] - 2024-09-18
### Changed ### Added
- Bumped package version to 1.3.8. - Implemented `-s`/`--skip-if-file-exists` option for `download` command.
### Fixed
- Added exception handling for unexpected responses from the server.
## [1.3.7] - 2024-07-22 ## [1.3.7] - 2024-07-22
@@ -85,23 +93,29 @@ All notable changes to this project will be documented in this file.
## [1.3.6] - 2024-07-08 ## [1.3.6] - 2024-07-08
### Changed ### Added
- Bumped package version to 1.3.6. - Support cancelling recursive downloads if downloading some files fails.
## [1.3.5] - 2024-07-08 ## [1.3.5] - 2024-07-08
### Changed ### Added
- Bumped package version to 1.3.5. - Added authorization token validation checks for file download operations.
### Removed
- Removed unnecessary debug code.
## [1.3.4] - 2024-07-04 ## [1.3.4] - 2024-07-04
### Added ### Added
- Added some aliases for config sub command. - Added some aliases for config sub command.
### Fixed
- Fixed bug when uploading large files.
## [1.3.3] - 2024-02-13 ## [1.3.3] - 2024-02-13
### Changed ### Added
- Bumped package version to 1.3.3. - Implemented `-s`/`--skip-if-file-exists` option for `upload` command.
## [1.3.2] - 2024-02-09 ## [1.3.2] - 2024-02-09
+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