Skip to content

Releases: Rust-Data-Science/ulist

Release 0.4.0

26 Dec 06:39
44028b3
Compare
Choose a tag to compare

What's new?

Features:

  • Implement any, all, and_, or_ and not_ methods for BooleanList;
  • Overload the __and__, __or__ and __invert__ (not) operators for BooleanList;
  • Implement greater_than_scala and less_than_scala methods for NumericalList;
  • Implement equal_scala, not_equal_scala, greater_than_or_equal_scala and less_than_or_equal_scala methods for IntegerList;
  • Overload the __gt__, __ge__, __lt__, __le__ __ne__, and __eq__ methods for NumericalList or IntegerList;
  • Implement append, pop, set and replace methods to modify the List object in place.
  • Removed duplicated bound check for the get method.
  • Implementing mypy stub and make ulist 100% type annotation.

Misc:

  • Fix type annotations for unit tests.
  • Using explicit way to construct List objects.
  • 100% type checking in the unit tests.
  • Clear unnecessary lifetime declarations.
  • Run mypy linter in the unit tests.
  • Create CI for Ubuntu and MacOS with Python 3.6. Although, the Python language does not provide backward compatibility, but the ulist does not have any Python 3rd party dependencies, so we don't have to worry too much about the compatibility with Python 3.7, 3.8, 3.9 and 3.10.
  • Add PyPI, Licence, CI, PyPI - Format and Code Style badges in ReadMe.md.
  • Put the develop guide into a separate file.

Release 0.3.0

11 Dec 06:44
867786e
Compare
Choose a tag to compare

What's new?

Features:

  • Wrap FloatList, BooleanList and IntegerList and their methods into UltraFastList, and attribute dtype could be specified to choose which type to use.
  • Overload add/sub/mul/div operators, and add a new example to demonstrate how to use these operators.
  • Implement get method, and overload __str__ and __getitem__ methods

Misc:

  • Add type checking for all the test cases in test_base.py.
  • Integrate code style tests and unit tests in /tests/run.sh
  • Split rust files lib.rs and list.rs into base.rs, numeric.rs, boolean.rs, integer.rs, float.rs, lib.rs
  • Split test files test.py into test_base.py and test_numerical.py.
  • Add some examples to demonstrate how to use ulist.
  • Add rust related files to .gitignore.

Release 0.2.0

28 Nov 07:35
Compare
Choose a tag to compare

What's new?

Features:

  • Implement arithmetic methods for List type - add, sub, mul, div, add_scala, sub_scala, mul_scala, div_scala and pow_scala;
  • Implement data processing methods for List type - copy, filter, sort, to_list and unique;
  • Implement a new type BooleanList;

Misc:

  • Add a docker file to distribute ulist for Linux;
  • Add develop/build/publish/docker instructions in README.md.
  • Put the List trait and Boolean type in a new file from current lib.rs file.

Release 0.1.0

14 Nov 14:53
ff3fd72
Compare
Choose a tag to compare

What's new?

Features

  • Implement two types of List, one is FloatList and the other is IntegerList;
  • Implement basic methods for List type - sum, mean, max, min and size;

Misc

  • Add install, build and publish instructions in the README.md file.