Skip to content

Initial release implementation#17

Merged
RNKuhns merged 7 commits into
mainfrom
initial_release_implementation
Jul 27, 2026
Merged

Initial release implementation#17
RNKuhns merged 7 commits into
mainfrom
initial_release_implementation

Conversation

@RNKuhns

@RNKuhns RNKuhns commented Jul 26, 2026

Copy link
Copy Markdown
Member

No description provided.

RNKuhns and others added 5 commits July 26, 2026 00:40
- Ship a PEP 561 py.typed marker so downstream users type-check against
  the package's annotations.
- Add src/call_report/_dependencies.py: lazy-import / optional-dependency
  helpers (import_optional, _lazy_import, _LazyModule,
  ModuleUpgradeRequiredError) modeled on polars' _dependencies.py, so any
  dependency beyond narwhals stays optional. Covered by
  tests/test_dependencies.py.
- Rework tests/test_version.py into a release tripwire: an EXPECTED_VERSION
  fixture that must be bumped in lockstep with __version__, plus PEP 440
  format validation via packaging (added to the dev extra).
- Update CLAUDE.md working-style guidance: precise type hints over Any, and
  dependency management (narwhals is the only hard runtime import; use the
  lazy helpers for everything else; ask before adding any dependency).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Comment thread tests/fca/test_report.py
def test_constructor_is_keyword_only() -> None:
"""FCACallReport takes no positional arguments."""
with pytest.raises(TypeError):
FCACallReport("2024-03-31") # type: ignore[call-arg]
Comment thread tests/test_periods.py Fixed
Comment thread tests/test_backend.py
def test_build_frame_and_finalize_are_keyword_only() -> None:
"""build_frame and finalize take no positional arguments."""
with pytest.raises(TypeError):
build_frame({"UNINUM": [1]}) # type: ignore[call-arg]
Comment thread tests/test_backend.py Fixed
Comment thread tests/fca/test_catalog.py
"""construct_fca_download_url takes no positional arguments."""
period = ReportingPeriod.from_period_end(value="2026-03-31")
with pytest.raises(TypeError):
construct_fca_download_url(period) # type: ignore[call-arg]
Comment thread tests/test_config.py
def test_config_functions_are_keyword_only() -> None:
"""set_config takes no positional arguments."""
with pytest.raises(TypeError):
set_config("pandas") # type: ignore[call-arg]
Comment thread tests/fca/test_enums.py
def test_coerce_fca_call_report_schedule_is_keyword_only() -> None:
"""coerce_fca_call_report_schedule takes no positional arguments."""
with pytest.raises(TypeError):
coerce_fca_call_report_schedule("RCB") # type: ignore[call-arg]
Comment thread tests/fca/test_institutions.py Fixed
Comment thread tests/fca/test_layout.py Fixed
Comment thread tests/test_periods.py
def test_from_period_end_is_keyword_only() -> None:
"""from_period_end takes no positional args."""
with pytest.raises(TypeError):
ReportingPeriod.from_period_end("2026-03-31") # type: ignore[call-arg]
@codecov

codecov Bot commented Jul 26, 2026

Copy link
Copy Markdown

Welcome to Codecov 🎉

Once you merge this PR into your default branch, you're all set! Codecov will compare coverage reports and display results in all future pull requests.

Thanks for integrating Codecov - We've got you covered ☂️

Comment thread tests/test_periods.py
def test_period_range_is_keyword_only() -> None:
"""PeriodRange takes no positional arguments."""
with pytest.raises(TypeError):
PeriodRange("2025-03-31", "2026-03-31") # type: ignore[call-arg]
Comment thread tests/test_backend.py
build_frame({"UNINUM": [1]}) # type: ignore[call-arg]
frame = build_frame(data={"UNINUM": [1]})
with pytest.raises(TypeError):
finalize(frame) # type: ignore[call-arg]
rows=['6,10,0,3,2026,610000,"X","TX"'],
)
with pytest.raises(TypeError):
read_institutions(tmp_path) # type: ignore[call-arg]
Comment thread tests/fca/test_layout.py Fixed
Comment thread tests/fca/test_reader.py
)
layout = parse_layout(path=layout_path)
with pytest.raises(TypeError):
read_schedule_file(data_path, layout) # type: ignore[call-arg]
@RNKuhns RNKuhns added this to the v0.1.0 milestone Jul 27, 2026
@RNKuhns RNKuhns linked an issue Jul 27, 2026 that may be closed by this pull request
@RNKuhns
RNKuhns merged commit 19b305e into main Jul 27, 2026
23 checks passed
@RNKuhns
RNKuhns deleted the initial_release_implementation branch July 27, 2026 00:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEATURE] Add initial API Functionality

1 participant