Skip to content

Commit d590ece

Browse files
authored
Merge pull request #673 from EducationalTestingService/release/2.5
Preparing for v2.5 release
2 parents 43bbcda + 48be271 commit d590ece

File tree

6 files changed

+66
-56
lines changed

6 files changed

+66
-56
lines changed

conda-recipe/README.md

+10-6
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,11 @@
1-
How to create and test conda package.
1+
### How to create and test conda package
22

3-
1. To create the SKLL conda package run:
4-
`conda build -c defaults -c conda-forge --numpy=1.17 .`
5-
2. Upload the package to anaconda.org using `anaconda upload --user ets <path>`.
6-
3. Test the package:
7-
`conda create -n foobar -c conda-forge -c ets skll=2.1`
3+
1. To create the SKLL conda package run: `conda build -c conda-forge .`
4+
5+
2. This will create python 3.7, 3.8, and 3.9 packages for your native platform, e.g., `osx-64`.
6+
7+
3. Convert these built packages for the other two platforms. For example, if you ran the above command on macOS, run `conda convert -p linux-64 -p win-64 <packages files>`, where `<packages_files>` are the package files that were created in step 2.
8+
9+
4. Upload all 9 package files (3 Python versions x 3 platforms) to anaconda.org using `anaconda upload --user ets <path_to_files>`.
10+
11+
5. Test the package: `conda create -n foobar -c conda-forge -c ets python=3.9 skll`. This should _always_ install the latest package.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
python:
2+
- 3.7
3+
- 3.8
4+
- 3.9
5+
numpy: 1.20.0
6+
pin_run_as_build:
7+
numpy:
8+
max_pin: x
9+
ignore_version: numpy

conda-recipe/skll/meta.yaml

+30-30
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,60 @@
11
package:
22
name: skll
3-
version: 2.1
3+
version: 2.5
44

55
source:
66
path: ../../../skll
77

88
build:
99
number: 0
10-
noarch: python
1110
script:
1211
- cd $SRC_DIR
1312
- "{{ PYTHON }} -m pip install . --no-deps -vv"
1413
entry_points:
15-
- compute_eval_from_predictions = skll.utilities.compute_eval_from_predictions:main
16-
- filter_features = skll.utilities.filter_features:main
17-
- generate_predictions = skll.utilities.generate_predictions:main
18-
- join_features = skll.utilities.join_features:main
19-
- plot_learning_curves = skll.utilities.plot_learning_curves:main
20-
- print_model_weights = skll.utilities.print_model_weights:main
21-
- run_experiment = skll.utilities.run_experiment:main
22-
- skll_convert = skll.utilities.skll_convert:main
23-
- summarize_results = skll.utilities.summarize_results:main
24-
- compute_eval_from_predictions = skll.utilities.compute_eval_from_predictions:main
25-
- filter_features = skll.utilities.filter_features:main
26-
- generate_predictions = skll.utilities.generate_predictions:main
27-
- join_features = skll.utilities.join_features:main
28-
- plot_learning_curves = skll.utilities.plot_learning_curves:main
29-
- print_model_weights = skll.utilities.print_model_weights:main
30-
- run_experiment = skll.utilities.run_experiment:main
31-
- skll_convert = skll.utilities.skll_convert:main
32-
- summarize_results = skll.utilities.summarize_results:main
14+
- compute_eval_from_predictions = skll.utils.commandline.compute_eval_from_predictions:main
15+
- filter_features = skll.utils.commandline.filter_features:main
16+
- generate_predictions = skll.utils.commandline.generate_predictions:main
17+
- join_features = skll.utils.commandline.join_features:main
18+
- plot_learning_curves = skll.utils.commandline.plot_learning_curves:main
19+
- print_model_weights = skll.utils.commandline.print_model_weights:main
20+
- run_experiment = skll.utils.commandline.run_experiment:main
21+
- skll_convert = skll.utils.commandline.skll_convert:main
22+
- summarize_results = skll.utils.commandline.summarize_results:main
23+
- compute_eval_from_predictions = skll.utils.commandline.compute_eval_from_predictions:main
24+
- filter_features = skll.utils.commandline.filter_features:main
25+
- generate_predictions = skll.utils.commandline.generate_predictions:main
26+
- join_features = skll.utils.commandline.join_features:main
27+
- plot_learning_curves = skll.utils.commandline.plot_learning_curves:main
28+
- print_model_weights = skll.utils.commandline.print_model_weights:main
29+
- run_experiment = skll.utils.commandline.run_experiment:main
30+
- skll_convert = skll.utils.commandline.skll_convert:main
31+
- summarize_results = skll.utils.commandline.summarize_results:main
3332

3433
requirements:
3534
build:
35+
- python
36+
- pip
37+
- setuptools
3638
- beautifulsoup4
37-
- joblib >=0.8
38-
- numpy
39+
- joblib
40+
- numpy {{ numpy }}
3941
- pandas
40-
- python >=3.6
4142
- ruamel.yaml
42-
- scikit-learn >=0.23.1,<=0.23.2
43+
- scikit-learn >=0.24.1,<=0.24.2
4344
- scipy
4445
- seaborn
45-
- setuptools
4646
- tabulate
4747

4848
run:
49+
- python
4950
- beautifulsoup4
50-
- joblib >=0.8
51+
- joblib
5152
- numpy
5253
- pandas
53-
- python >=3.6
5454
- ruamel.yaml
55-
- scikit-learn >=0.23.1,<=0.23.2
56-
- seaborn
55+
- scikit-learn >=0.24.1,<=0.24.2
5756
- scipy
57+
- seaborn
5858
- tabulate
5959

6060
test:
@@ -75,6 +75,6 @@ test:
7575

7676
about:
7777
home: http://github.com/EducationalTestingService/skll
78-
license: BSD-3-Clause
78+
license: BSD
7979
license_file: LICENSE.txt
8080
summary: SciKit-Learn Laboratory makes it easier to run machine learning experiments with scikit-learn.

doc/internal/release.rst

+15-19
Original file line numberDiff line numberDiff line change
@@ -17,38 +17,34 @@ This document is only meant for the project administrators, not users and develo
1717

1818
e. update the README and this release documentation, if necessary.
1919

20-
3. Run the following command in the ``conda-recipe`` directory to build the conda package::
20+
3. Build and upload the conda packages by following instructions in ``conda-recipe/README.md``.
2121

22-
conda build -c conda-forge --numpy=1.17 .
22+
4. Build the PyPI source distribution using ``python setup.py sdist build``.
2323

24-
4. Upload the package to anaconda.org using ``anaconda upload --user ets <package tarball>``. You will need to have the appropriate permissions for the ``ets`` organization.
24+
5. Upload the source distribution to TestPyPI using ``twine upload --repository testpypi dist/*``. You will need to have the ``twine`` package installed and set up your ``$HOME/.pypirc`` correctly. See details `here <https://packaging.python.org/guides/using-testpypi/>`__.
2525

26-
5. Build the PyPI source distribution using ``python setup.py sdist build``.
26+
6. Test the conda package by creating a new environment on different platforms with this package installed and then running SKLL examples or tests from a SKLL working copy. If the package works, then move on to the next step. If it doesn't, figure out why and rebuild and re-upload the package.
2727

28-
6. Upload the source distribution to TestPyPI using ``twine upload --repository testpypi dist/*``. You will need to have the ``twine`` package installed and set up your ``$HOME/.pypirc`` correctly. See details `here <https://packaging.python.org/guides/using-testpypi/>`__.
29-
30-
7. Test the conda package by creating a new environment on different platforms with this package installed and then running SKLL examples or tests from a SKLL working copy. If the package works, then move on to the next step. If it doesn't, figure out why and rebuild and re-upload the package.
31-
32-
8. Test the TestPyPI package by installing it as follows::
28+
7. Test the TestPyPI package by installing it as follows::
3329

3430
pip install --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple skll
3531

36-
9. Then run some SKLL examples or tests from a SKLL working copy. If the TestPyPI package works, then move on to the next step. If it doesn't, figure out why and rebuild and re-upload the package.
32+
8. Then run some SKLL examples or tests from a SKLL working copy. If the TestPyPI package works, then move on to the next step. If it doesn't, figure out why and rebuild and re-upload the package.
3733

38-
10. Create pull requests on the `skll-conda-tester <https://github.com/EducationalTestingService/skll-conda-tester/>`_ and `skll-pip-tester <https://github.com/EducationalTestingService/skll-pip-tester/>`_ repositories to test the conda and TestPyPI packages on Linux and Windows.
34+
9. Create pull requests on the `skll-conda-tester <https://github.com/EducationalTestingService/skll-conda-tester/>`_ and `skll-pip-tester <https://github.com/EducationalTestingService/skll-pip-tester/>`_ repositories to test the conda and TestPyPI packages on Linux and Windows.
3935

40-
11. Draft a release on GitHub while the Linux and Windows package tester builds are running.
36+
10. Draft a release on GitHub while the Linux and Windows package tester builds are running.
4137

42-
12. Once both builds have passed, make a pull request with the release branch to be merged into ``main`` and request code review.
38+
11. Once both builds have passed, make a pull request with the release branch to be merged into ``main`` and request code review.
4339

44-
13. Once the build for the PR passes and the reviewers approve, merge the release branch into ``main``.
40+
12. Once the build for the PR passes and the reviewers approve, merge the release branch into ``main``.
4541

46-
14. Upload source and wheel packages to PyPI using ``python setup.py sdist upload`` and ``python setup.py bdist_wheel upload``
42+
13. Upload source and wheel packages to PyPI using ``python setup.py sdist upload`` and ``python setup.py bdist_wheel upload``
4743

48-
15. Make sure that the ReadTheDocs build for ``main`` passes.
44+
14. Make sure that the ReadTheDocs build for ``main`` passes.
4945

50-
16. Tag the latest commit in ``main`` with the appropriate release tag and publish the release on GitHub.
46+
15. Tag the latest commit in ``main`` with the appropriate release tag and publish the release on GitHub.
5147

52-
17. Send an email around at ETS announcing the release and the changes.
48+
16. Send an email around at ETS announcing the release and the changes.
5349

54-
18. Post release announcement on Twitter/LinkedIn.
50+
17. Post release announcement on Twitter/LinkedIn.

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -52,8 +52,8 @@ def requirements():
5252
'Operating System :: Unix',
5353
'Operating System :: MacOS',
5454
'Programming Language :: Python :: 3',
55-
'Programming Language :: Python :: 3.6',
5655
'Programming Language :: Python :: 3.7',
5756
'Programming Language :: Python :: 3.8',
57+
'Programming Language :: Python :: 3.9',
5858
],
5959
zip_safe=False)

skll/version.py

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
in one place. Based on the suggestion `here. <http://bit.ly/16LbuJF>`_
55
66
:author: Dan Blanchard ([email protected])
7+
:author: Nitin Madnani ([email protected])
78
:organization: ETS
89
"""
910

0 commit comments

Comments
 (0)