https://github.com/alan-turing-institute/randoffee

Manage REG random coffees

https://github.com/alan-turing-institute/randoffee

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.9%) to scientific vocabulary

Keywords

hut23
Last synced: 7 months ago · JSON representation

Repository

Manage REG random coffees

Basic Info
  • Host: GitHub
  • Owner: alan-turing-institute
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 111 KB
Statistics
  • Stars: 1
  • Watchers: 125
  • Forks: 0
  • Open Issues: 8
  • Releases: 0
Topics
hut23
Created about 2 years ago · Last pushed over 1 year ago
Metadata Files
Readme Contributing License

README.md

randoffee

Library to handle REG random coffees.


Workflow for generating random coffees

(Note: This assumes you are not actively developing the codebase. If you are, skip ahead.)

  1. Install the executable. If you don't have pipx, you can do brew install pipx on macOS, or follow the instructions for your system.

    pipx install git+https://github.com/alan-turing-institute/randoffee.git

  2. cd to the Coffee folder in the REG SharePoint.

  3. Run

    randoffee

  4. The script will print the groupings, some statistics about them, and ask you whether these are your final groupings.

Before answering yes or no, you should double-check the groups to make sure that they are sensible. (In practice, we have never interfered with any of the groups.)

If you are satisfied with these groupings, then you can enter y to save the permutation to disk. It will be saved in previous/YYYY-MM-DD.json. This file will be used for future coffee rounds (the script will make sure to generate groups that are sufficiently different from it).

If you enter n, the permutation will still be saved as previous/.latest.json. You can just mv this to the desired date if you realise that you do want those groups.

  1. Change the random topics in the email to anything you like.

  2. Send the email to the list of email addresses the script gives you.


Developing

The usage is the same as above, but when setting up the codebase you probably want to:

  1. Clone the repository:

    git clone git@github.com:alan-turing-institute/randoffee.git

  2. Set up a virtual environment:

    cd randoffee python -m venv venv source venv/bin/activate

  3. Install the library in editable mode:

    pip install --editable .

You should then have access to randoffee as a command as long as you are in the virtual environment. When run, it will use the code in the local repository.


Usage as library

More functionality to follow.

Example usage (to investigate how similar previous coffees have been) follows. The COFFEE_DIR variable must point to the Coffee folder in the REG SharePoint folder (in my case, I've symlinked it to ~/coffee).

```python from pathlib import Path

from randoffee import Permutation

Read in all previous permutations

ALLPERMS = [] COFFEEDIR = Path.home() / 'coffee'

for file in (COFFEEDIR / 'previous').iterdir(): if file.isfile() and file.suffix == '.json': ALLPERMS.append(Permutation.fromjson_file(file))

ALLPERMS = sorted(ALLPERMS, key=lambda x: x.date)

Calculate similarity between all consecutive permutations

for (perm1, perm2) in zip(ALLPERMS, ALLPERMS[1:]): print(f'-------- {perm1.date} x {perm2.date} --------') print(perm1.similarity_to(perm2)) print('\n\n') ```

Owner

  • Name: The Alan Turing Institute
  • Login: alan-turing-institute
  • Kind: organization
  • Email: info@turing.ac.uk

The UK's national institute for data science and artificial intelligence.

GitHub Events

Total
  • Push event: 1
Last Year
  • Push event: 1

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 20
  • Total pull requests: 11
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 2 days
  • Total issue authors: 4
  • Total pull request authors: 4
  • Average comments per issue: 0.5
  • Average comments per pull request: 0.64
  • Merged pull requests: 8
  • Bot issues: 0
  • Bot pull requests: 6
Past Year
  • Issues: 6
  • Pull requests: 2
  • Average time to close issues: 2 months
  • Average time to close pull requests: about 1 hour
  • Issue authors: 3
  • Pull request authors: 1
  • Average comments per issue: 0.0
  • Average comments per pull request: 1.0
  • Merged pull requests: 2
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • yongrenjie (9)
  • mhauru (5)
  • penelopeysm (2)
  • b-d-e (1)
Pull Request Authors
  • dependabot[bot] (7)
  • penelopeysm (4)
  • mhauru (2)
  • yongrenjie (1)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels
dependencies (7)

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v5 composite
  • codecov/codecov-action v3.1.5 composite
  • pre-commit/action v3.0.0 composite
pyproject.toml pypi