semvec/pypi-packages huggingface dataset:
circleguard 5.4.3
A utilities library for osu!. Provides support for parsing replays from a file or from the api, as well as support for unstable rate, hits, similarity, and frametime calculations.
Keywords: osu!, python, cheat-detection, replay-stealing, remodding

<img src="readme_resources/logo.png" alt="logo" width="200" height="200"/>

[![PyPi version](https://badge.fury.io/py/circleguard.svg)](https://pypi.org/project/circleguard/)

# Circlecore ([documentation](https://circleguard.github.io/circlecore/))

Circlecore is a utilities library for osu!. Features include:

* Unstable Rate calculation
* Judgments calculation (classifying all hitobjects into misses, hit300s, hit100s, hit50s, or sliderbreaks)
* Similarity calculation between two replays, for replay stealing detection
* Frametime calculation, for timewarp detection
* Jerky, suspicious movement detection (called Snaps)

Circlecore is used by [Circleguard](https://github.com/circleguard/circleguard), a replay analysis tool.

Circlecore is developed and maintained by:

* [tybug](https://github.com/tybug)
* [samuelhklumpers](https://github.com/samuelhklumpers)

## Installation

Circlecore can be installed from pip:

```bash
pip install circleguard
```

This documentation refers to the project as `circlecore` to differentiate it from our organization [Circleguard](https://github.com/circleguard) and the replay analysis tool [Circleguard](https://github.com/circleguard/circleguard). However, `circlecore` is installed from pypi with the name `circleguard`, and is imported as such in code (`import circleguard`).

## Links

Github: <https://github.com/circleguard/circlecore> <br/>
Documentation: <https://circleguard.github.io/circlecore/> <br/>
Discord: <https://discord.gg/VNnkTjm> <br/>

## Usage

We have a full tutorial and documentation at <https://circleguard.github.io/circlecore/>. If you really want to jump right in, below is a quickstart guide:

```python
from circleguard import *

# replace "key" with your api key
cg = Circleguard("key")
# replay on http://osu.ppy.sh/b/221777 by http://osu.ppy.sh/u/2757689
replay = ReplayMap(221777, 2757689)

print(cg.ur(replay)) # unstable rate
print(cg.frametime(replay)) # average frametime
print(cg.frametimes(replay)) # full frametime list
print(cg.hits(replay)) # where the replay hits hitobjects
print(cg.snaps(replay)) # any jerky/suspicious movement

replay2 = ReplayMap(221777, 4196808)
print(cg.similarity(replay, replay2)) # how similar the replays are

# ReplayMap isn't the only way to represent replays; we can also
# get a beatmap's top 3 plays
map_ = cg.Map(221777, span="1-3")
# or a User's fifteenth and twentieth best plays
user = cg.User(124493, span="15, 20")
# or a local replay
replay3 = ReplayPath("/path/to/local/osr/replay.osr")
# and more. You can find them all at
# https://circleguard.github.io/circlecore/appendix.html#circleguard.loadables.Loadable

# maps and users can be iterated over
for r in map_:
    print(cg.ur(r))
```

## Contributing

Join [our discord](https://discord.gg/VNnkTjm) and ask how you can help, or look around for open issues which interest you and tackle those. Pull requests are welcome!
banner-of-light-research-assistant 0.0.2
This application prepares data from the 19th century newspaper Banner of Light to be analyzed by a AI research assistant powered by OpenAI
Requires Python: >=3.11

# banner_of_light_research_assistant

If your name isn't Dan or Theo, this is probably not for you.

This application prepares data from the 19th century newspaper Banner of Light to be analyzed by a AI research assistant powered by OpenAI

[![PyPI - Version](https://img.shields.io/pypi/v/banner-of-light-research-assistant.svg)](https://pypi.org/project/banner-of-light-research-assistant)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/banner-of-light-research-assistant.svg)](https://pypi.org/project/banner-of-light-research-assistant)

-----

**Table of Contents**

- [Installation](#installation)
- [License](#license)

## Installation

```console
pip install banner-of-light-research-assistant
```

## Usage

```console
banner-of-light-research-assistant --help
```

## License

`banner-of-light-research-assistant` is distributed under the terms of the [MIT](https://spdx.org/licenses/MIT.html) license.

```mermaid

flowchart TD

PrepareData[Prepare Data \nExtract Text]

```
sus-amongus 0.69
useful for identifying sussy bakas ඞ
Requires Python: >=3.8

amogus suspcious

# Stuff

* sus_amongus.capitalize_sus(text: str) - returns a string with every sus word capitalized.
```
>>> sus_amongus.capitalize_sus("there is an imposter among us.")
'there is an IMPOSTER AMONG US.'
```


* sus_amongus.get_sus(text: str) - returns a ඞ named tuple of every sus word in the string.
```
>>> sus_amongus.get_sus("there is an imposter among us.")
ඞ(sus0='imposter', sus1='among', sus2='us')
```


* sus_amongus.is_sus(text: str) - returns True if the string contains any sus words.
```
>>> sus_amongus.is_sus("example sus string")
True
>>> sus_amongus.is_sus("example normal string")
False
```


* sus_amongus.susify(text: str) - achieve maximum sussiness.
```
>>> sus_amongus.susify("not very sus string")
'ඞඞඞ ඞඞඞඞ ඞඞඞ ඞඞඞඞඞඞ'
```


* sus_amongus.sus_tuple(*args) - make the funni ඞ named tuple
```
>>> sus_amongus.sus_tuple("sussy", "among us")
ඞ(sus0='sussy', sus1='among us')
```


sus_amongus.ඞ(*args) - stupid function that makes stuff useless
```
>>> sus_amongus.ඞ(3.14, "hello", [1, 2], range(69))
(6.9, 'ඞඞඞඞඞ', ඞ(sus0=(420,), sus1=(420,)), amogus ඞ)
```


* sus_amongus.amongus - sus
```
>>> print(sus_amongus.amongus)
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣤⣤⣤⣤⣤⣶⣦⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⡿⠛⠉⠙⠛⠛⠛⠛⠻⢿⣿⣷⣤⡀⠀⠀⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠀⠀⣼⣿⠋⠀⠀⠀⠀⠀⠀⠀⢀⣀⣀⠈⢻⣿⣿⡄⠀⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠀⣸⣿⡏⠀⠀⠀⣠⣶⣾⣿⣿⣿⠿⠿⠿⢿⣿⣿⣿⣄⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠀⣿⣿⠁⠀⠀⢰⣿⣿⣯⠁⠀⠀⠀⠀⠀⠀⠀⠈⠙⢿⣷⡄⠀ 
⠀⠀⣀⣤⣴⣶⣶⣿⡟⠀⠀⠀⢸⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣷⠀ 
⠀⢰⣿⡟⠋⠉⣹⣿⡇⠀⠀⠀⠘⣿⣿⣿⣿⣷⣦⣤⣤⣤⣶⣶⣶⣶⣿⣿⣿⠀ 
⠀⢸⣿⡇⠀⠀⣿⣿⡇⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃⠀ 
⠀⣸⣿⡇⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠉⠻⠿⣿⣿⣿⣿⡿⠿⠿⠛⢻⣿⡇⠀⠀ 
⠀⣿⣿⠁⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣧⠀⠀ 
⠀⣿⣿⠀⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀ 
⠀⣿⣿⠀⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⠀⠀ 
⠀⢿⣿⡆⠀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⡇⠀⠀ 
⠀⠸⣿⣧⡀⠀⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⠃⠀⠀ 
⠀⠀⠛⢿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀⣰⣿⣿⣷⣶⣶⣶⣶⠶⠀⢠⣿⣿⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⣿⣿⡇⠀⣽⣿⡏⠁⠀⠀⢸⣿⡇⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠀⣿⣿⠀⠀⠀⠀⠀⣿⣿⡇⠀⢹⣿⡆⠀⠀⠀⣸⣿⠇⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠀⢿⣿⣦⣄⣀⣠⣴⣿⣿⠁⠀⠈⠻⣿⣿⣿⣿⡿⠏⠀⠀⠀⠀ 
⠀⠀⠀⠀⠀⠀⠀⠈⠛⠻⠿⠿⠿⠿⠋⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
```