Thank you for your interest in making tensor search more accessible!
You can submit bug reports on our GitHub repo
We welcome contributions to the codebase. Here are some coding guidelines to follow:
- Where possible, we explicitly state the arg names when calling a function.
This makes refactoring easier. If possible, use
func(a=1, b=2)
rather thanfunc(1, 2)
- Errors raised that concern non-user-facing functionality
(for example, related to vectors), should raise an
InternalError
or its subclass
- Generate a pull request to the
mainline
branch. These will be reviewed before merging - After merging to
mainline
, please delete the branch with the pull request - To release a change, bump the correct version (major.minor.patch, see below for more details), run all the tests, build the package and push to it PyPi
- We do regular minor releases. These are releases that are additive and don't break existing functionality. During a minor release we bump the minor version number: 0.41.24 -> 0.42.24
- In-between minor releases, we can release bug-fixes by bumping the patch number: 0.34.6 -> 0.34.7
- If there are any breaking changes, there will be a major release: 5.39.55 -> 6.39.55
- Not that pre-version 1.x.x, because this is the pre-release stage, breaking functionality may be introduced in minor versions.
Notes:
- If you don't have the exact python version specified in the
tox.ini
file, you can run tox like this:tox -e py
. This tellstox
to use whatever python version it finds on your machine. - Be very careful if your environment has access to a Marqo production instance. These tests will arbitrarily modify, create and delete indices on the Marqo instances it uses for testing.
To run unit tests, simple run tox
in the Marqo home directory
To run integration tests, pull the api testing repo. Then, follow the instructions in the README.
The Python Marqo client has its own test suite. Clone the repo, cd
into the client home directory and then run tox
.