opensafely-core / opensafely-core/opencodelists
Large number of probably not-genuine users
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 60
- Forks
- 16
- Avg merge
- 4d 12h
- Merged PRs (30d)
- 17
Description
2661 Users in total
Many of these from looking at the Django admin page for opencodelists appear to be not genuine users ( slack thread ).
I'm not sure there's a robust method to identify these accounts that fail the "looks a bit dodgy" sniff test, but here are some possible heuristics:
E.g. 89 are from .ru domains, 1132 have spammy phrases embedded in the username part of the email address split by many . characters
>>> len([u for u in User.objects.all() if u.email.count('.')>4])
1132
2081 have no codelists associated with them
>>> handleusers = set([h.user for h in Handle.objects.all()])
>>> versionauthors = set([v.author for v in CodelistVersion.objects.all()])
>>> anyauthor = handleusers.union(versionauthors)
>>> len(anyauthor)
580
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start from the OpenCodelists admin User page and review the issue's proposed heuristics: email domains, repeated dots in usernames, and users without associated Handles or CodelistVersion authorship. Check the linked Slack discussion for context. Done requires an agreed robust method for identifying non-genuine accounts, since the issue does not define one.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend, databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100