Welcome to the NanoML team's github repo! We are a team of researchers at Purdue University and Oak Ridge National Lab working on the intersection of quantum computing, nanophotonics, and machine learning. Our team develops high quality machine learning code and we hope it is useful for your projects! We focus on speeding up the characterization of materials in laboratory settings, generation of unique nanophotonic and quantum devices, and fast algorithms written in Python and C/C++.
We take a first principles approach to develop new perspectives at the intersection of physics, computer science, and machine learning.
Our team is always looking for new opportunities for collaboration. If you are interested in starting a new project or collaborating on one of our ongoing research efforts, please reach out to Yuheng Chen at chen4114@purdue.edu or Alexandra Boltasseva at aeb@purdue.edu.
We implement 3 pretty standard systems for managing our repos.
- Virtual environments
- Version Control
- Packaging
Our goal is to make our code as easy as
pip install our-package
Academia's goal is to further humanity's knowledge and provide access to education with as few hurdles as possible. By making our code easy to use, we bring academia's goal closer to reality and open doors for anyone to come into science. Virtual environments, version control, and proper packaging make our code easily accessible and give access closer to anyone.
Git helps us track changes in our code, collaborate with other team members, and manage releases. It also allows others to easily contribute to our projects and fork them for their own use.
Virtual environments are essential for isolating project dependencies and avoiding conflicts between different Python packages. We use virtual environments to manage and install project-specific packages, ensuring a consistent and reproducible development environment for all contributors.
Packaging code is a widely used package management tool for Python. We use it to define, package, and distribute our code as reusable modules or libraries. This makes it easy for others to install and use our code without worrying about dependencies or compatibility issues.
To install any of our python packages, simply install directly from github using the following cli command:
python -m pip install git+https://github.com/nanometaml/<git-repo-name>.git
Good question! If you type in pip into the cmd, it's not guaranteed to be linked to the same python binary found on your cmd path. The only way to guarantee that the package is installed to the correct python, you have to run pip using python's module mode, i.e., 'python -m pip'.
If you see this message, everything is working properly!
Become a collaborator on the NanoMetaML organization!! Email Yuheng Chen and Alexandra Boltasseva at chen4114@purdue.edu and aeb@purdue.edu for information on collaborating with our team.
We welcome contributions from the community! If you would like to contribute to our projects or start a collaboration with one of our gifted team members, please follow these steps:
-
Fork the repository.
-
Create a new branch for your changes.
-
Make your changes and commit them, making sure to follow our commit message guidelines.
-
Push your changes to your fork.
-
Create a pull request against our repository, describing your changes and any relevant information.
Our team will review your pull request and provide feedback or merge it if approved.
All NanoML projects are released under the MIT License. This permissive license allows you to use, modify, and distribute our code, as long as you include the original copyright and license information.





