Releases: BoboTiG/py-candlestick-chart
Releases · BoboTiG/py-candlestick-chart
Release list
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 theYAxisclass. - 100% coverage with tests!
Changed
- Fixed
CandleSet.min_volumebeing always0.0(commit 6975d7f). - Those functions now also accept a
pathlib.Pathargument, in addition to the originalstr:utils.parse_candles_from_csv(), andutils.parse_candles_from_json(). - Updated the
pypa/gh-action-pypi-publishGitHub action frommastertorelease/v1.
3.0.0
Added
- Support for Python 3.13
- CI to automatically publish releases on tag creation
ruffrequirement 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.pyfor 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.0by default, set something like1 / 0.01to 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_SMALLto control the number of decimals to keep when formatting numbers withfnum()(defaults to2, and4, respectively)constants.MIN_DIFF_THRESHOLD, andconstants.MAX_DIFF_THRESHOLDto control candle top, and bottom, thicknessfnum()(defaults to0.25, and0.75, respectively)
Changed
- Fixed formatting of
1.0number withinfnum() - Fixed imports using
isort
2.2.0
Added
Candle.__eq__()to allow comparing candles- Introduced
constants.Y_AXIS_SPACINGto 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