.gitignore
.pre-commit-config.yaml
.readthedocs.yml
LICENSE
MANIFEST.in
Makefile
README.md
pyproject.toml
uv.lock
.github/PULL_REQUEST_TEMPLATE.md
.github/workflows/continuous-deployment.yml
civic_scraper/__init__.py
civic_scraper/cli.py
civic_scraper/runner.py
civic_scraper/utils.py
civic_scraper.egg-info/PKG-INFO
civic_scraper.egg-info/SOURCES.txt
civic_scraper.egg-info/dependency_links.txt
civic_scraper.egg-info/entry_points.txt
civic_scraper.egg-info/requires.txt
civic_scraper.egg-info/top_level.txt
civic_scraper/base/__init__.py
civic_scraper/base/asset.py
civic_scraper/base/cache.py
civic_scraper/base/constants.py
civic_scraper/base/site.py
civic_scraper/platforms/__init__.py
civic_scraper/platforms/civic_clerk/__init__.py
civic_scraper/platforms/civic_clerk/site.py
civic_scraper/platforms/civic_plus/__init__.py
civic_scraper/platforms/civic_plus/parser.py
civic_scraper/platforms/civic_plus/site.py
civic_scraper/platforms/digital_tow_path/__init__.py
civic_scraper/platforms/digital_tow_path/site.py
civic_scraper/platforms/digital_tow_path/utils.py
civic_scraper/platforms/granicus/__init__.py
civic_scraper/platforms/granicus/site.py
civic_scraper/platforms/legistar/__init__.py
civic_scraper/platforms/legistar/site.py
civic_scraper/platforms/primegov/__init__.py
civic_scraper/platforms/primegov/site.py
docs/Makefile
docs/advanced_config.md
docs/civicplus_sites.csv
docs/conf.py
docs/contributing.md
docs/index.md
docs/install.md
docs/reference.md
docs/releasing.md
docs/sites.md
docs/usage.md
docs/writing_a_scraper.md
docs/_static/images/releasing-actions-finished.png
docs/_static/images/releasing-actions-start.png
docs/_static/images/releasing-changelog-button.png
docs/_static/images/releasing-changelog-entered.png
docs/_static/images/releasing-draft-button.png
docs/_static/images/releasing-name-release.png
docs/_static/images/releasing-name-tag.png
docs/_static/images/releasing-publish-button.png
docs/_static/images/releasing-pypi.png
docs/_static/images/releasing-release-published.png
docs/_static/images/releasing-releases-button.png
docs/_static/images/releasing-tag-button.png
docs/reference/civic_scraper.base.md
docs/reference/civic_scraper.md
docs/reference/civic_scraper.platforms.civic_plus.md
docs/reference/civic_scraper.platforms.md
scripts/generate_civicplus_sites.py
scripts/run_scraper.py
scripts/scaffold_platform.py
tests/__init__.py
tests/civic_clerk_site.py
tests/conftest.py
tests/granicus_site.py
tests/legistar_site.py
tests/primegov_test.py
tests/test_asset.py
tests/test_base_site.py
tests/test_cache.py
tests/test_cache_env_setting.py
tests/test_civic_plus_parser.py
tests/test_civic_plus_site.py
tests/test_cli.py
tests/test_digital_tow_path_site.py
tests/test_digital_tow_path_utils.py
tests/test_legistar_site.py
tests/test_runner.py
tests/cassettes/test_civic_plus_site/test_scrape_cache_false_default.yaml
tests/cassettes/test_civic_plus_site/test_scrape_cache_true.yaml
tests/cassettes/test_civic_plus_site/test_scrape_current_day_by_default.yaml
tests/cassettes/test_civic_plus_site/test_scrape_defaults.yaml
tests/cassettes/test_civic_plus_site/test_scrape_download_default.yaml
tests/cassettes/test_civic_plus_site/test_scrape_download_filter_both.yaml
tests/cassettes/test_civic_plus_site/test_scrape_download_filter_size.yaml
tests/cassettes/test_civic_plus_site/test_scrape_download_filter_type.yaml
tests/cassettes/test_civic_plus_site/test_scrape_download_true.yaml
tests/cassettes/test_civic_plus_site/test_scrape_no_meetings_for_date.yaml
tests/cassettes/test_civic_plus_site/test_scrape_place_state.yaml
tests/cassettes/test_cli/test_cli_scrape_simple.yaml
tests/cassettes/test_cli/test_cli_store_assets_and_artifacts.yaml
tests/cassettes/test_digital_tow_path_site/test_scrape_with_date_range.yaml
tests/cassettes/test_digital_tow_path_utils/test_get_categories.yaml
tests/cassettes/test_digital_tow_path_utils/test_get_meeting_details.yaml
tests/cassettes/test_digital_tow_path_utils/test_get_meeting_details_with_documents.yaml
tests/cassettes/test_digital_tow_path_utils/test_get_meetings_for_category_year.yaml
tests/cassettes/test_digital_tow_path_utils/test_get_other_years_from_soup.yaml
tests/cassettes/test_legistar_site/test_multiyear_scrape.yaml
tests/cassettes/test_legistar_site/test_scrape_current_day_by_default.yaml
tests/cassettes/test_legistar_site/test_scrape_defaults.yaml
tests/cassettes/test_legistar_site/test_scrape_download_default.yaml
tests/cassettes/test_legistar_site/test_scrape_download_filter_size.yaml
tests/cassettes/test_legistar_site/test_scrape_download_filter_type.yaml
tests/cassettes/test_legistar_site/test_scrape_download_true.yaml
tests/cassettes/test_legistar_site/test_scrape_no_meetings_for_date.yaml
tests/cassettes/test_runner/test_runner_downloads_assets.yaml
tests/fixtures/civplus_agenda_search_results_page.html
tests/fixtures/civplus_alameda_water.html
tests/fixtures/url_input.csv