Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .pymarkdown
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@
"md013": {
"line_length": 79,
"strict": true
},
"md024": {
"siblings_only": true
}
}
}
}
65 changes: 65 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Changelog

## v0.7.0

### Added

- Added comparison operators to `NumericSequence`.
- Added one-based indexing support to `Recurrence`.
- Added a factory for building a `Series` from an existing sequence.
- Added `Fraction` support to the numeric type system.
- Added sequence rule retrieval.
- Added support for negative indexing in slice bounds for zero-indexed finite
sequences.

### Changed

- Renamed the `Real` numeric type alias from `Number`.
- Restricted `combine()` to same-type operands.

### Removed

- Removed complex number support from `NumericSequence`.
- Removed `shift_by()` and `shift_to()` sequence transformations.

### Fixed

- Fixed type-checking issues when applying arithmetic and slicing to derived
sequences.
- Fixed reverse slicing of infinite sequences without an explicit stop.

## v0.6.0

### Added

- Added BooleanSequence for boolean-valued sequences.

## v0.5.0

### Added

- Added Series for partial-sum sequences.

## v0.4.0

### Added

- Added NumericRecurrence for recursively defined numeric sequences.

## v0.3.0

### Added

- Added Recurrence for sequences defined by recurrence rules.

## v0.2.0

### Added

- Added NumericSequence with arithmetic operations.

## v0.1.0

### Added

- Added the initial calculus package implementation.
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -233,9 +233,10 @@ print(4 * leibniz[1000])
│ └── test_utils.py # Pytest test suite for utility functions
├── .gitignore
├── .pymarkdown
├── CHANGELOG.md
├── LICENSE
├── README.md
├── TODO.md # Planned work
├── TODO.md
├── pyproject.toml # Project configuration
├── pytest.ini # Pytest configuration for test imports
└── requirements-dev.txt # Development and CI dependencies
Expand Down
4 changes: 0 additions & 4 deletions TODO.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,10 +17,6 @@

- Identify opportunities to use decorators.

## Documentation

- Add `CHANGELOG.md`.

## Environment

- Set up GitHub Issues for tracking bugs and planned work.
Expand Down
2 changes: 1 addition & 1 deletion calculus/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
from .sequence import Sequence
from .series import Series

__version__ = "0.6.0"
__version__ = "0.7.0"

__all__ = [
"BooleanSequence",
Expand Down
14 changes: 14 additions & 0 deletions docs/STYLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,20 @@ of the library.
files, PR descriptions): wrap at 79 characters.
- Fill the space: avoid wrapping lines prematurely.

## Changelog

Changelog entries describe user-facing changes rather than implementation
details.

- Group entries by release version.
- Keep releases in chronological order, newest first.
- Within each release, group entries under Added, Changed, Removed, Fixed, or
Deprecated subheadings, as applicable.
- Within each group in a release, list entries in the order they were added,
oldest first.
- Add new entries only under the next unreleased version.
- Do not modify existing entries unless correcting factual errors.

## Git

**<u>Caution!</u>** These conventions diverge from Conventional Commits and
Expand Down