From 369f652ba76f5e2eb861428e1adc4fdc0c90ffd5 Mon Sep 17 00:00:00 2001 From: Shane Jaroch Date: Sun, 4 Jan 2026 05:08:39 -0500 Subject: [PATCH] combine reqs all into pyproject.toml --- .github/workflows/test.yml | 11 ++---- .requirements-lint.txt | 10 ------ README.md | 72 +++----------------------------------- pyproject.toml | 17 +++++++-- requirements.txt | 8 ----- 5 files changed, 23 insertions(+), 95 deletions(-) delete mode 100644 .requirements-lint.txt delete mode 100644 requirements.txt diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index d1f862c..5b783a6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -31,17 +31,12 @@ jobs: with: python-version: 3 cache: "pip" # caching pip dependencies - cache-dependency-path: "**/*requirements*.txt" + cache-dependency-path: "**/pyproject.toml" # update-environment: false - - name: Install requirements + - name: Install package with development dependencies run: | - pip install -r requirements.txt - pip install -r .requirements-lint.txt - - # NOTE: pytest is needed to lint the folder: "tests/" - # pip install -r requirements-test.txt - + pip install ".[dev]" - name: format run: make format diff --git a/.requirements-lint.txt b/.requirements-lint.txt deleted file mode 100644 index df0f3b6..0000000 --- a/.requirements-lint.txt +++ /dev/null @@ -1,10 +0,0 @@ -black==25.12.0 -coverage==7.13.1 -flake8==7.3.0 -isort==7.0.0 -mypy==1.19.1 -pylint==4.0.4 -pytest==9.0.2 -ruff==0.14.10 -types-requests==2.32.4.20250913 - diff --git a/README.md b/README.md index 100fb5e..ab43882 100644 --- a/README.md +++ b/README.md @@ -7,7 +7,7 @@ This program is now in production phase, but bugs might still be present. Featur The project is maintained at https://github.com/Linekio/getmyancestors. Visit here for the latest version and more information. -This script requires python3 and the modules indicated in the requirements.txt file. To install the modules, run in your terminal: +This script requires python3 and the modules indicated in the pyproject.toml file. To install the modules, run in your terminal: Installation @@ -21,74 +21,12 @@ Otherwise, you can download the source package and then execute in the folder: `pip install .` +For development with linting and testing tools: + +`pip install ".[dev]"` + How to use ========== With graphical user interface: -``` -fstogedcom -``` - -Command line examples: - -Download four generations of ancestors for the main individual in your tree and output gedcom on stdout (will prompt for username and password): - -``` -getmyancestors -``` - -Download four generations of ancestors and output gedcom to a file while generating a verbode stderr (will prompt for username and password): - -``` -getmyancestors -o out.ged -v -``` - -Download four generations of ancestors for individual LF7T-Y4C and generate a verbose log file: - -``` -getmyancestors -u username -p password -i LF7T-Y4C -o out.ged -l out.log -v -``` - -Download six generations of ancestors for individual LF7T-Y4C and generate a verbose log file: - -``` -getmyancestors -a 6 -u username -p password -i LF7T-Y4C -o out.ged -l out.log -v -``` - -Download four generations of ancestors for individual LF7T-Y4C including all their children and their children spouses: - -``` -getmyancestors -d 1 -m -u username -p password -i LF7T-Y4C -o out.ged -``` - -Download six generations of ancestors for individuals L4S5-9X4 and LHWG-18F including all their children, grandchildren and their spouses: - -``` -getmyancestors -a 6 -d 2 -m -u username -p password -i L4S5-9X4 LHWG-18F -o out.ged -``` - -Download four generations of ancestors for individual LF7T-Y4C including LDS ordinances (need LDS account) - -``` -getmyancestors -c -u username -p password -i LF7T-Y4C -o out.ged -``` - -Merge two Gedcom files - -``` -mergemyancestors -i file1.ged file2.ged -o out.ged -``` - - -Support -======= - -Submit questions or suggestions, or feature requests by opening an Issue at https://github.com/Linekio/getmyancestors/issues - -Donation -======== - -If this project help you, you can give me a tip :) - -[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=98X3CY93XTAYJ) diff --git a/pyproject.toml b/pyproject.toml index 7112eb4..58b524e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -23,10 +23,10 @@ dependencies = [ "babelfish==0.6.1", "diskcache==5.6.3", "requests==2.32.3", - "fake-useragent==2.0.3", + "fake-useragent==2.2.0", "geocoder==1.38.1", "requests-ratelimiter==0.7.0", - "requests-cache" # Added missing dependency + "requests-cache==1.2.1", ] dynamic = ["version", "readme"] @@ -38,6 +38,19 @@ getmyancestors = "getmyancestors.getmyanc:main" mergemyancestors = "getmyancestors.mergemyanc:main" fstogedcom = "getmyancestors.fstogedcom:main" +[project.optional-dependencies] +dev = [ + "black==25.12.0", + "coverage==7.13.1", + "flake8==7.3.0", + "isort==7.0.0", + "mypy==1.19.1", + "pylint==4.0.4", + "pytest==9.0.2", + "ruff==0.14.10", + "types-requests==2.32.4.20250913", +] + [tool.setuptools] # Use find packages with exclude pattern packages.find = {exclude = ["http_cache", "http_cache.*"]} diff --git a/requirements.txt b/requirements.txt deleted file mode 100644 index 06c2504..0000000 --- a/requirements.txt +++ /dev/null @@ -1,8 +0,0 @@ -babelfish==0.6.1 -diskcache==5.6.3 -geocoder~=1.38.1 -requests==2.32.3 -requests_cache==1.2.1 -fake-useragent==2.2.0 -setuptools==80.9.0 -requests-ratelimiter==0.7.0 -- 2.52.0