diff --git a/.circleci/config.yml b/.circleci/config.yml index 535bd3ca8..6d76eb045 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -62,7 +62,7 @@ commands: jobs: # Build treeple from source - build_scikit_tree: + build_treeple: docker: # CircleCI maintains a library of pre-built images # documented at https://circleci.com/doc/2.0/circleci-images/ @@ -189,10 +189,10 @@ jobs: workflows: build-docs: jobs: - - build_scikit_tree + - build_treeple - build_docs: requires: - - build_scikit_tree + - build_treeple - docs-deploy: requires: - build_docs diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 25899e266..74cedc5e6 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1,14 +1,14 @@ # These are supported funding model platforms -github: [adam2392, PSSF23, sampan501, SUKI-O] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] -patreon: # Replace with a single Patreon username -open_collective: # Replace with a single Open Collective username -ko_fi: # Replace with a single Ko-fi username -tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel -community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry -liberapay: # Replace with a single Liberapay username -issuehunt: # Replace with a single IssueHunt username -lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry -polar: # Replace with a single Polar username -buy_me_a_coffee: adam2392 # Replace with a single Buy Me a Coffee username -custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] +github: [adam2392, PSSF23, sampan501, SUKI-O] # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2] +patreon: # Replace with a single Patreon username +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: # Replace with a single Liberapay username +issuehunt: # Replace with a single IssueHunt username +lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry +polar: # Replace with a single Polar username +buy_me_a_coffee: adam2392 # Replace with a single Buy Me a Coffee username +custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2'] diff --git a/.yamllint.yml b/.yamllint.yml index 670a643f9..2ee25d7da 100644 --- a/.yamllint.yml +++ b/.yamllint.yml @@ -8,6 +8,7 @@ rules: line-length: disable document-start: disable truthy: disable + comments: disable braces: forbid: false min-spaces-inside: 0 diff --git a/CITATION.cff b/CITATION.cff index 60aaa5a45..99b8bd1a1 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -17,9 +17,12 @@ authors: family-names: Xu affiliation: "Department of Biomedical Engineering, Johns Hopkins University, Baltimore, MD, USA" orcid: "https://orcid.org/0000-0001-8235-4950" + - given-names: Itsuki + family-names: Ogihara + affiliation: "Department of Biomedical Engineering, Johns Hopkins University, Baltimore, MD, USA" type: software repository-code: "https://github.com/neurodata/treeple" -license: 'BSD-3-Clause' +license: 'PolyForm-Noncommercial-1.0.0' keywords: - random forest - oblique trees diff --git a/DEVELOPING.md b/DEVELOPING.md index 1da391efe..7e5bdcc1a 100644 --- a/DEVELOPING.md +++ b/DEVELOPING.md @@ -181,11 +181,14 @@ treeple is in-line with scikit-learn and thus relies on each new version release ## Releasing on PyPi (for pip installs) -1. Download wheels from GH Actions and put all wheels into a ``dist/`` folder +GH Actions will build wheels for each Python version and OS. Then the wheels needs to be uploaded to PyPi. The following steps outline the process: + +1. Download wheels from GH Actions and put all wheels into a ``dist/`` folder in the root (local) of the project. will have all the wheels for common OSes built for each Python version. 2. Upload wheels to test PyPi +This is to ensure that the wheels are built correctly and can be installed on a fresh environment. For more information, see . You will need to follow the instructions to create an account and get your API token for testpypi and pypi. ``` twine upload dist/* --repository testpypi @@ -223,33 +226,16 @@ spin docs git checkout gh-pages ``` -Rename the current ``stable`` folder to the version number of the previous release, e.g. If we are releasing ``0.8.0``, then rename the ``stable`` folder to ``0.7.0``. +Create a new folder for the new version, e.g. ``v0.8`` if you are releasing version 0.8.0. -Copy the contents of the ``docs/_build/html`` folder to the root of the ``gh-pages`` branch under the `stable` folder, since this new release is the "stable" version. +Copy the contents of the locally build ``docs/_build/html`` folder to newly created folder at the root of the ``gh-pages`` branch. 4. Update the versions pointer file in main `doc/_static/versions.json` to point to the new version. e.g. If we are releasing ``0.8.0``, then you will see: -``` -{ - "name": "0.7", - "version": "stable", - "url": "https://docs.neurodata.io/treeple/stable/" -}, -``` - -which should get renamed to its corresponding version number: - -``` - { - "name": "0.7", - "version": "0.7", - "url": "https://docs.neurodata.io/treeple/v0.7/" - }, -``` -Similarly, we will add pointers to the development version and new stable v0.8 version: +Change the development version to the next version i.e. v0.9 and rename v0.8 version appropriately: ``` { @@ -259,8 +245,8 @@ Similarly, we will add pointers to the development version and new stable v0.8 v }, { "name": "0.8", - "version": "stable", - "url": "https://docs.neurodata.io/treeple/stable/" + "version": "0.8", + "url": "https://docs.neurodata.io/treeple/v0.8/" }, ``` diff --git a/doc/_static/versions.json b/doc/_static/versions.json index 8ce5f79a1..94b9aa68e 100644 --- a/doc/_static/versions.json +++ b/doc/_static/versions.json @@ -1,13 +1,18 @@ [ { - "name": "0.9 (devel)", + "name": "0.10", "version": "dev", - "url": "https://docs.neurodata.io/treeple/dev/" + "url": "https://docs.neurodata.io/treeple/v0.10/" + }, + { + "name": "0.9", + "version": "0.9", + "url": "https://docs.neurodata.io/treeple/v0.9/" }, { "name": "0.8", - "version": "stable", - "url": "https://docs.neurodata.io/treeple/stable/" + "version": "0.8", + "url": "https://docs.neurodata.io/treeple/v0.8/" }, { "name": "0.7", diff --git a/doc/index.rst b/doc/index.rst index ccd9c7ca5..597c13fa0 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -15,7 +15,7 @@ We encourage you to use the package for your research and also build on top with relevant Pull Requests. See our examples for walk-throughs of how to use the package. Also, see our `contributing guide `_. -We are licensed under BSD-3 (see `License `_). +We are licensed under PolyForm Noncommercial License (see `License `_). .. topic:: References diff --git a/doc/whats_new.rst b/doc/whats_new.rst index 390383211..9bd3ce273 100644 --- a/doc/whats_new.rst +++ b/doc/whats_new.rst @@ -22,5 +22,7 @@ on libraries.io to be notified when new versions are released. Version 0.5 Version 0.6 Version 0.7 - Version 0.8 (Unreleased) + Version 0.8 + Version 0.9 + Version 0.10 (Unreleased) diff --git a/doc/whats_new/v0.10.rst b/doc/whats_new/v0.10.rst new file mode 100644 index 000000000..1a5b75573 --- /dev/null +++ b/doc/whats_new/v0.10.rst @@ -0,0 +1,23 @@ +:orphan: + +.. include:: _contributors.rst +.. currentmodule:: treeple + +.. _current: + +Version 0.10 +============ + +** In Development ** + +Changelog +--------- + + +Code and Documentation Contributors +----------------------------------- + +Thanks to everyone who has contributed to the maintenance and improvement of +the project since version inception, including: + +* `Adam Li`_ diff --git a/doc/whats_new/v0.8.rst b/doc/whats_new/v0.8.rst index 69be7f84b..d4994bb1f 100644 --- a/doc/whats_new/v0.8.rst +++ b/doc/whats_new/v0.8.rst @@ -3,7 +3,7 @@ .. include:: _contributors.rst .. currentmodule:: treeple -.. _v0_9: +.. _v0_8: Version 0.8 =========== diff --git a/doc/whats_new/v0.9.rst b/doc/whats_new/v0.9.rst index a3688111b..2b8f4deb9 100644 --- a/doc/whats_new/v0.9.rst +++ b/doc/whats_new/v0.9.rst @@ -3,19 +3,18 @@ .. include:: _contributors.rst .. currentmodule:: treeple -.. _current: +.. _v0_9: Version 0.9 =========== -**In Development** - This release include a rename of the package to from ``scikit-tree`` to ``treeple`` The users can replace the previous usage as follows: ``import sktree`` to ``import treeple`` ``from sktree import tree`` to ``from treeple import tree`` ``from sktree import ...`` to ``from treeple import ...`` +Note that the previous version of the package will still be available under the name ``scikit-tree`` on PyPI. Changelog --------- diff --git a/meson.build b/meson.build index 912c4895e..54b848d0c 100644 --- a/meson.build +++ b/meson.build @@ -4,8 +4,8 @@ project( # Note that the git commit hash cannot be added dynamically here # That only happens when importing from a git repository. # See `treeple/__init__.py` - version: '0.9.0dev0', - license: 'BSD-3', + version: '0.9.1', + license: 'PolyForm Noncommercial 1.0.0', meson_version: '>= 1.1.0', default_options: [ 'buildtype=debugoptimized', diff --git a/pyproject.toml b/pyproject.toml index 0eb454d40..49ae567aa 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,12 +17,12 @@ requires = [ [project] name = "treeple" -version = "0.9.0dev0" +version = "0.9.1" description = "Modern decision trees in Python" maintainers = [ {name = "Neurodata", email = "adam.li@columbia.edu"} ] -documentation = "https://treeple.neurodata.io" +documentation = "https://treeple.ai" repository = "https://github.com/neurodata/treeple" readme = "README.md" requires-python = ">=3.9" @@ -30,7 +30,7 @@ classifiers = [ 'Development Status :: 4 - Beta', "Intended Audience :: Science/Research", "Intended Audience :: Developers", - "License :: OSI Approved :: BSD License", + "License :: Free for non-commercial use", "Programming Language :: C", "Programming Language :: Python", "Programming Language :: Python :: 3",