Releases: BoboTiG/py-candlestick-chart
Releases · BoboTiG/py-candlestick-chart
3.1.0
Added
- Support for Python 3.14.
- Introduce
constants.UNICODE_Y_AXIS
,constants.UNICODE_Y_AXIS_LEFT
, andconstants.UNICODE_Y_AXIS_RIGHT
, constants to control the Unicode character printed next to prices on the Y-axis (defaults to│
,┤
, and├
, respectively). - New color: gray (which is an alias to the misspelled "grey").
- New
utils.round_price()
function to either round down, or up, the price on the Y-axis. Previously, it was a private method of theYAxis
class. - 100% coverage with tests!
Changed
- Fixed
CandleSet.min_volume
being always0.0
(commit 6975d7f). - Those functions now also accept a
pathlib.Path
argument, in addition to the originalstr
:utils.parse_candles_from_csv()
, andutils.parse_candles_from_json()
. - Updated the
pypa/gh-action-pypi-publish
GitHub action frommaster
torelease/v1
.
3.0.0
Added
- Support for Python 3.13
- CI to automatically publish releases on tag creation
ruff
requirement for the code quality
Changed
- (breaking change) Enforced usage of proper keyword-arguments
- Use absolute imports
- Level up the packaging using
hatchling
- Pin all requirements
- Updated README's code example (fixes #13)
- Fixed typos using
codespell
(#15 by @kianmeng)
Removed
black
,flake8
, andisort
, requirements for the code quality
2.7.0
Added
- Support for Python 3.12
- CI to run unit tests
- Tests for the CLI entry point
Changed
- Set the default chart name to a blank string in the CLI (fixes #9)
- Use
shutil.get_terminal_size()
instead ofos.get_terminal_size()
to be able to run tests without hittingOSError: [Errno 25] Inappropriate ioctl for device
- Fix Mypy error
PEP 484 prohibits implicit Optional
2.6.0
Added
- Allow to use a custom class for the chart rendering via the
Chart(..., renderer_cls=MyClass)
keyword argument (seeexamples/custom-renderer-class.py
for inspiration) - The module is is now PEP 561 compatible, and tested with
mypy
Changed
- Fixed off-by-one shift when rendering empty lines on the Y-axis (the issue was visible only when the Y-axis was on the left side) (fixes #7)
2.5.1
Changed
- Allow to pass a blank color to
color()
, it will return the text unchanged - Refactored price hightlights, it should now highlight price that would be hidden by a slightly upper value (like 1.025 being hidden because that exact price is not available, but it is surrounded by 1.02, and 1.03, then it will take the place of 1.02)
- Better-looking Y-axis style (when on the left-side:
PRICE │―
→PRICE ┤
, and on the right-side:│― PRICE
→├ PRICE
)
2.5.0
Added
- Capability to round prices on the Y-axis via
Y_AXIS_ROUND_DIR
(eitherdown
[default], orup
), andY_AXIS_ROUND_MULTIPLIER
(0.0
by default, set something like1 / 0.01
to round price to 2 decimals), constants
Changed
- Improve rendering performances by ~60%
2.4.0
2.3.0
2.2.1
Added
constants.PRECISION
, andconstants.PRECISION_SMALL
to control the number of decimals to keep when formatting numbers withfnum()
(defaults to2
, and4
, respectively)constants.MIN_DIFF_THRESHOLD
, andconstants.MAX_DIFF_THRESHOLD
to control candle top, and bottom, thicknessfnum()
(defaults to0.25
, and0.75
, respectively)
Changed
- Fixed formatting of
1.0
number withinfnum()
- Fixed imports using
isort
2.2.0
Added
Candle.__eq__()
to allow comparing candles- Introduced
constants.Y_AXIS_SPACING
to give control on Y-axis spacing between graduations (defaults to 4, reduce to display more graduations, and set a higher number to display less graduations)
Changed
- Constant changes are now taken into account in real-time, it allowes to tweak the chart appearence after having imported the module
- Always show the volume pane when it is enabled