mirror of
https://github.com/shadoll/moma.git
synced 2026-08-28 11:33:25 +00:00
Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
60302e18d3 | ||
|
|
db39c02e30 | ||
|
|
f7270e7afc |
+1
-1
@@ -11,7 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
|
||||
### Added
|
||||
- **GitHub Actions CI** (`ci.yml`): runs tests + mypy on Python 3.12 for every push to `main` and all PRs
|
||||
- **GitHub Actions Release** (`release.yml`): triggered by `v*.*.*` tags — runs tests, builds wheel + tarball, publishes packages as GitHub Release assets (`moma-X.Y.Z.whl`, `moma-latest.whl`, etc.)
|
||||
- **GitHub Actions Release** (`release.yml`): triggered by `v*.*.*` tags — runs tests, builds wheel + tarball, publishes packages as GitHub Release assets (`moma-X.Y.Z-py3-none-any.whl`, `moma-X.Y.Z.tar.gz`, `moma-latest.tar.gz`)
|
||||
- **TMDB credentials in Settings**: `tmdb_api_key` and `tmdb_access_token` are now stored in `~/.config/moma/config.json` and editable via the Settings screen (`p`)
|
||||
|
||||
### Changed
|
||||
|
||||
+7
-10
@@ -24,14 +24,11 @@ powershell -c "irm https://astral.sh/uv/install.sh | iex"
|
||||
|
||||
#### Install moma
|
||||
```bash
|
||||
# Always-latest stable URL (recommended)
|
||||
uv tool install https://github.com/shadoll/moma/releases/latest/download/moma-latest.whl
|
||||
# Always-latest (recommended, no version to update)
|
||||
uv tool install https://github.com/shadoll/moma/releases/latest/download/moma-latest.tar.gz
|
||||
|
||||
# Specific version
|
||||
uv tool install https://github.com/shadoll/moma/releases/download/v0.8.11/moma-0.8.11.whl
|
||||
|
||||
# From a locally downloaded wheel
|
||||
uv tool install moma-latest.whl
|
||||
uv tool install https://github.com/shadoll/moma/releases/download/v0.9.1/moma-0.9.1-py3-none-any.whl
|
||||
|
||||
# From PyPI (when published)
|
||||
uv tool install moma
|
||||
@@ -46,11 +43,11 @@ moma /path/to/directory # Scan specific directory
|
||||
### Method 2: pip Install from Wheel
|
||||
|
||||
```bash
|
||||
# Always-latest stable URL
|
||||
pip install https://github.com/shadoll/moma/releases/latest/download/moma-latest.whl
|
||||
# Always-latest (recommended, no version to update)
|
||||
pip install https://github.com/shadoll/moma/releases/latest/download/moma-latest.tar.gz
|
||||
|
||||
# From a locally downloaded wheel
|
||||
pip install moma-latest.whl
|
||||
# Specific version
|
||||
pip install https://github.com/shadoll/moma/releases/download/v0.9.1/moma-0.9.1-py3-none-any.whl
|
||||
```
|
||||
|
||||
### Method 3: Development Installation
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
# Bump patch version in pyproject.toml and INSTALL.md
|
||||
bump:
|
||||
#!/usr/bin/env python3
|
||||
import re
|
||||
with open('pyproject.toml', 'r') as f:
|
||||
content = f.read()
|
||||
m = re.search(r'version = "(\d+)\.(\d+)\.(\d+)"', content)
|
||||
if m:
|
||||
old = m.group(1) + '.' + m.group(2) + '.' + m.group(3)
|
||||
major, minor, patch = map(int, m.groups())
|
||||
new = f'{major}.{minor}.{patch + 1}'
|
||||
with open('pyproject.toml', 'w') as f:
|
||||
f.write(content.replace(m.group(0), f'version = "{new}"'))
|
||||
with open('INSTALL.md', 'r') as f:
|
||||
install = f.read()
|
||||
with open('INSTALL.md', 'w') as f:
|
||||
f.write(install.replace(old, new))
|
||||
print(f'Version bumped to {new}')
|
||||
else:
|
||||
print('Version not found')
|
||||
|
||||
# Bump version, sync dependencies, and build package
|
||||
release: bump
|
||||
uv sync
|
||||
uv build
|
||||
@echo "Release process completed successfully!"
|
||||
|
||||
# Run tests
|
||||
test:
|
||||
uv run pytest
|
||||
|
||||
# Run the application
|
||||
run *ARGS:
|
||||
uv run moma {{ARGS}}
|
||||
+1
-3
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = "moma"
|
||||
version = "0.9.0"
|
||||
version = "0.9.1"
|
||||
description = "Terminal-based media file renamer and metadata viewer"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.12"
|
||||
@@ -23,8 +23,6 @@ dev = [
|
||||
|
||||
[project.scripts]
|
||||
moma = "main:main"
|
||||
bump-version = "bump:main"
|
||||
release = "release:main"
|
||||
|
||||
[tool.uv]
|
||||
package = true
|
||||
|
||||
@@ -4,12 +4,19 @@ def main():
|
||||
content = f.read()
|
||||
match = re.search(r'version = "(\d+)\.(\d+)\.(\d+)"', content)
|
||||
if match:
|
||||
old_version = match.group(1) + '.' + match.group(2) + '.' + match.group(3)
|
||||
major, minor, patch = map(int, match.groups())
|
||||
patch += 1
|
||||
new_version = f'{major}.{minor}.{patch}'
|
||||
content = content.replace(match.group(0), f'version = "{new_version}"')
|
||||
with open('pyproject.toml', 'w') as f:
|
||||
f.write(content)
|
||||
# Update version references in INSTALL.md
|
||||
with open('INSTALL.md', 'r') as f:
|
||||
install = f.read()
|
||||
install = install.replace(old_version, new_version)
|
||||
with open('INSTALL.md', 'w') as f:
|
||||
f.write(install)
|
||||
print(f'Version bumped to {new_version}')
|
||||
else:
|
||||
print('Version not found')
|
||||
Reference in New Issue
Block a user