Skip to content

Releases: BoboTiG/py-candlestick-chart

3.1.0

02 Nov 16:55
bb0d745
Compare
Choose a tag to compare

Added

  • Support for Python 3.14.
  • Introduce constants.UNICODE_Y_AXIS, constants.UNICODE_Y_AXIS_LEFT, and constants.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 the YAxis class.
  • 100% coverage with tests!

Changed

  • Fixed CandleSet.min_volume being always 0.0 (commit 6975d7f).
  • Those functions now also accept a pathlib.Path argument, in addition to the original str: utils.parse_candles_from_csv(), and utils.parse_candles_from_json().
  • Updated the pypa/gh-action-pypi-publish GitHub action from master to release/v1.

3.0.0

24 Sep 15:02
Compare
Choose a tag to compare

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, and isort, requirements for the code quality

2.7.0

23 Apr 21:08
f590d06
Compare
Choose a tag to compare

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 of os.get_terminal_size() to be able to run tests without hitting OSError: [Errno 25] Inappropriate ioctl for device
  • Fix Mypy error PEP 484 prohibits implicit Optional

2.6.0

14 Apr 19:58
6c4f973
Compare
Choose a tag to compare

Added

  • Allow to use a custom class for the chart rendering via the Chart(..., renderer_cls=MyClass) keyword argument (see examples/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

21 Oct 10:09
79f0377
Compare
Choose a tag to compare

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

19 Oct 06:40
55a0d2a
Compare
Choose a tag to compare

Added

  • Capability to round prices on the Y-axis via Y_AXIS_ROUND_DIR (either down [default], or up), and Y_AXIS_ROUND_MULTIPLIER (0.0 by default, set something like 1 / 0.01 to round price to 2 decimals), constants

Changed

  • Improve rendering performances by ~60%

2.4.0

23 Sep 06:54
a353496
Compare
Choose a tag to compare

Added

  • Capability to highlight values on the Y-axis using chart.set_highlight()
  • New colors: blue, cyan, grey, magenta, and white

2.3.0

23 Sep 05:04
cfbd334
Compare
Choose a tag to compare

Added

  • Capability to display graduations on the right side by setting the constants.Y_AXIS_ON_THE_RIGHT to True

Changed

  • Fixed a zero division error when no candle volume is set
  • Chart title is now hidden if it is an empty string

2.2.1

12 Aug 14:45
0b804ae
Compare
Choose a tag to compare

Added

  • constants.PRECISION, and constants.PRECISION_SMALL to control the number of decimals to keep when formatting numbers with fnum() (defaults to 2, and 4, respectively)
  • constants.MIN_DIFF_THRESHOLD, and constants.MAX_DIFF_THRESHOLD to control candle top, and bottom, thickness fnum() (defaults to 0.25, and 0.75, respectively)

Changed

  • Fixed formatting of 1.0 number within fnum()
  • Fixed imports using isort

2.2.0

12 Aug 13:56
34d4701
Compare
Choose a tag to compare

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