treelite
treelite copied to clipboard
Tracking issue for Treelite 3.9 and 4.0
As discussed in #438, we are spinning off the C codegen ("compiler") part of Treelite into a separate project (dubbed tl2cgen
).
Goals
- Keep Treelite small. It should do one thing well, namely serve as a universal exchange and serialization format for decision tree forests.
- Hand off the control of
tl2cgen
to other contributor(s), as I do not have bandwidth to maintain it in the future. - Make it easy for other projects to adopt Treelite as serialization format.
- Future-proof Treelite 4.0 by making breaking changes that will enable additional types of decision tree forests.
Functions to be migrated to tl2cgen
+ removed from Treelite 4.0
-
treelite.Annotator
-
treelite.Model.compile
-
treelite.Model.export_lib
-
treelite.Model.export_srcpkg
-
treelite.generate_makefile
- The entire
treelite_runtime
package will be renamed totl2cgen_runtime
and will be moved to thetl2cgen
project.-
treelite_runtime.DMatrix
-
treelite_runtime.Predictor
-
- The entire Java runtime will be moved to
tl2cgen
project.
Create new project tl2cgen
- [x] Create new repository dmlc/tl2cgen
- [x] Set up directory skeleton for C++ source files
- [x] Set up CMake build
- [x] Set up directory skeleton for Python package
- [x] Set up
pyproject.toml
and PEP 517 backend - [x] Set up pytests. In particular, there should be integration tests to ensure that C codegen functions of Treelite can be replaced 1-to-1 with those in tl2cgen.
- [x] Make dmlc/tl2cgen public
- [x] Migrate relevant issues from dmlc/treelite to dmlc/tl2cgen
- [x] Set up a working Sphinx doc
- [x] Create a 0.1 release for tl2cgen
- [x] Publish tl2cgen to PyPI
- [x] Submit a pull request to Conda-forge's staged recipes repo
Release Treelite 3.9
- [x] Write a migration guide.
- [x] Add deprecation warnings to
Model.export_lib
and other related functions. Warnings should direct users to the migration guide. - [x] Publish Treelite 3.9 to PyPI and Conda-forge
Release Treelite 4.0
- [x] Remove the functions in the list above.
- [x] Address the blockers (see below).
- [x] Create tl2cgen 0.2 to handle Treelite 4.0+ serialization format.
- [x] Publish Treelite 4.0 and tl2cgen 0.2 to PyPI and Conda-forge
Tasks for Treelite 4.0
- [x] #489
- [x] #503
- [x] #515
- [ ] #469
- [x] Breaking change: #463
- [x] Breaking change: #445
- [x] Breaking change: #467
- [x] #446
- [x] #429
- [x] #426
- [x] Breaking change: #468
- [x] #492
- [ ] #517