Crossing Minds Data Science Python Library and API client.



Crossing Minds API Client


Data Science Tools


General Purpose Tools

Source code

See our GitHub repository for the source code.

About Crossing Minds

We are a start-up based in San Francisco & with offices in Paris. We specialize in recommender systems and are currently building a universal recommendation API, allowing anyone to harness the power of recommendations.

Along the way, we developed some useful and efficient tools for general Machine Learning and optimisation, for recommender systems specifically, and some tools for data wrangling. We believe these tools should be for anyone to use, so please feel free to use this library for any of your Machine Learning and data manipulation needs.

Please visit our website if you want to learn more!

Getting started

Requires Python >= 3.6 to function properly.

Installing the package

Using pip:

pip install xminds

Not supported on Conda yet.

Using the library

The library currently requires using exact paths, so to use xminds.lib.arrays.to_structured the recommended way is currently:

from xminds.lib.arrays import to_structured
arr = to_structured([
   ('a', numpy.arange(5)),
   ('b', numpy.ones(5))

Our next release will allow the following pattern:

import xminds  # not supported in current release
arr = xminds.to_structured([  # not supported in current release
   ('a', numpy.arange(5)),
   ('b', numpy.ones(5))


This website is the documentation for the Python library and the Python client of the API.

For our universal recommendation API’s documentation, see: API Documentation.


Any contributions are greatly appreciated!

Reporting issues

Please open an issue on the GitHub repository, here. Such issues are extremely valuable to us.

Making changes

If you like what we do and would like to improve it, feel free to contribute.

  1. Clone the repository:

git clone https://github.com/Crossing-Minds/xminds-python.git
  1. Install prerequisites:

pip install -r requirements.txt
  1. Create a branch and make additions / changes there

  2. Open a Pull Request on GitHub from your branch to master

Release notes

So far we have released array tools (numpy array, numpy structured array).

We plan on publishing some of our Recommender system tools and utils as well as some Gaussian Processes optimisation tools and Linear Algebra tools, so stay tuned!


Our tools are licensed under the MIT License. See License for more detail.

Contacting us

For code-related issues, please open issues on the GitHub repository.

To request new features or functions, you may also open an issue on the GitHub repository.

You can also write to us at contact [at] crossingminds.com for business / hiring.

Keeping in touch

Follow us on Twitter, LinkedIn. We also organize meetups (remote at the moment, in person once it’s safe to do so again), so follow us on meetup!


We are always looking for great talent! You can check out our LinkedIn and AngeList pages for openings, or contact us directly at contact [at] crossingminds.com for spontaneous candidatures.