Match attendees by industry and a bunch of other random heuristics
- Install stuff below and setup the project.
- Download the guest list from your ticketing software (this project used lu.ma and milage with other formats will vary)
- Copy your csv file to data folder. Update the name of the file in src/constants.py
-
Install pyenv to manage your Python versions and virtual environments:
curl -sSL https://pyenv.run | bash
- If you are on MacOS and experiencing errors on python install with pyenv, follow this comment
- Add these lines to your
~/.bashrc
or~/.zshrc
to be able to activatepyenv virtualenv
:eval "$(pyenv init -)" eval "$(pyenv virtualenv-init -)" eval "$(pyenv init --path)"
- Restart your shell
-
Install the right version of
Python
withpyenv
:pyenv install 3.11.6
- Install Poetry to manage your dependencies and tooling configs:
If you have not previously installed any Python version, you may need to set your global Python version before installing Poetry:
curl -sSL https://install.python-poetry.org | python - --version 1.7.0
pyenv global 3.11.6
-
Create a
pyenv
virtual environment and link it to your project folder:pyenv virtualenv 3.11.6 ai-attendee-matcher pyenv local ai-attendee-matcher
Now, every time you are in your project directory your virtualenv will be activated!
-
Install dependencies with
Poetry
:poetry install --no-root
Steps 1. and 2. can also be done in one command:
make install
poetry run pre-commit install
To run unit tests, run pytest
with:
pytest tests --cov src
or
make test
To check code formatting, run ruff format
with:
ruff format --check .
or
make format-check
You can also integrate it to your IDE to reformat your code each time you save a file.
To run static analysis, run ruff
with:
ruff check src tests
or
make lint-check
To run static analysis and to apply auto-fixes, run ruff
with:
make lint-fix
To type check your code, run mypy
with:
mypy src --explicit-package-bases --namespace-packages
or
make type-check
The project includes a Streamlit app. See its documentation in the specific README.