Skip to content

Commit a606785

Browse files
authored
Merge pull request #101 from Eve-ning/0.1.7
0.1.7
2 parents cf547c1 + 2bf935f commit a606785

File tree

201 files changed

+1055
-598
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

201 files changed

+1055
-598
lines changed

.github/workflows/python-publish.yml renamed to .github/workflows/pypi-publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
# separate terms of service, privacy policy, and support
77
# documentation.
88

9-
name: Upload Python Package
9+
name: Upload Python Package to PyPi
1010

1111
on:
1212
release:

.github/workflows/python-package.yml renamed to .github/workflows/pytest.yml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions
22
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions
33

4-
name: Python package
4+
name: Python Tests
55

66
on:
77
push:
@@ -16,6 +16,7 @@ jobs:
1616
fail-fast: false
1717
matrix:
1818
python-version: ["3.7", "3.8", "3.9"]
19+
test-type: ["unit_tests", "algorithm_tests"]
1920

2021
steps:
2122

@@ -42,13 +43,18 @@ jobs:
4243
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
4344
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
4445
45-
- name: Test with pytest w/ coverage
46-
run: |
47-
pytest --cov=. --cov-report=xml:.coverage.xml
46+
- name: Test with pytest
47+
if: ${{ matrix.python-version }} != "3.7"
48+
run: pytest tests/${{ matrix.test-type }}
49+
50+
- name: Test with pytest w/ coverage for 3.7
51+
if: ${{ matrix.python-version }} == "3.7"
52+
run: pytest tests/${{ matrix.test-type }} --cov=. --cov-report=xml:${{ matrix.test-type }}.xml
4853

49-
- name: Upload coverage reports to Codecov for Py 3.7
54+
- name: Upload coverage reports to Codecov for 3.7
5055
if: ${{ matrix.python-version }} == "3.7"
5156
uses: codecov/[email protected]
5257
with:
53-
files: .coverage.xml
54-
verbose: true
58+
files: ${{ matrix.test-type }}.xml
59+
verbose: true
60+
fail_ci_if_error: true

README.md

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
1-
# [:blue_book: Wiki](https://eve-ning.github.io/reamberPy/index.html) & [Getting Started](https://eve-ning.github.io/reamberPy/info/GettingStarted.html)
2-
------
1+
![license](https://img.shields.io/github/license/Eve-ning/reamberPy)
2+
![dls](https://img.shields.io/pypi/dm/reamber)
3+
![codecov-coverage](https://img.shields.io/codecov/c/github/Eve-ning/reamberPy)
4+
![codefactor](https://img.shields.io/codefactor/grade/github/Eve-ning/reamberPy)
5+
![version](https://img.shields.io/pypi/v/reamber)
6+
37
# Reamber (Py)
48

5-
**Status: Development in Progress**
9+
[:blue_book: Wiki](https://eve-ning.github.io/reamberPy/index.html) & [Getting Started](https://eve-ning.github.io/reamberPy/info/GettingStarted.html)
610

711
**Supports Python `3.7`, `3.8`, `3.9`**
812

9-
`pip install reamber==0.1.6`
13+
`pip install reamber`
1014

1115
------
1216

@@ -16,21 +20,21 @@ such as offset, column, bpm, etc.
1620
This doesn't provide complex algorithms, only the base dataclasses and helpful basic
1721
algorithms
1822

19-
# Migrating to >v0.1.1 Releases
23+
## Migrating to >v0.1.1 Releases
2024

2125
Migrating to `>0.1.1` means spending time updating **a lot** of names.
2226

2327
Major changes in `0.1.1` include many differences in naming.
2428
Only update it if you don't plan mind spending time refactoring.
2529

26-
# For Developers
30+
## For Developers
2731

2832
Note that this is still in alpha stage, means a lot of things aren't settled down
2933
yet. In other words, many function names and references will change without notice.
3034

3135
It is recommended to only build scratch/temp files if you want to utilize this library
3236

33-
# Motivation
37+
## Motivation
3438

3539
A growing amount of osu!mania players are becoming interested in programming.
3640
The best way to learn is to relate it to something that you're familiar with.

docs/.buildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: bae5b29be5f0ce67947980e00b39fc25
3+
config: 8a222a01cdef7c1db7be66e64f9b0c48
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

docs/_sources/devInfo/DevInfo.md.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,11 @@ For each map, it has an ``objs`` dictionary of ``TimedList`` children. This is t
8787
```python
8888
from reamber.base.lists.notes.HitList import HitList
8989
from reamber.base.lists.notes.HoldList import HoldList
90-
from reamber.base.lists.BpmList import BpmList
90+
from reamber.base.lists.BpmList import BpmList
91+
9192
objs = dict(hits=HitList([]), holds=HoldList([]), bpms=BpmList([]))
9293
```
94+
9395
In other words, it always initializes with these classes, but inheriting classes can override ``objs``.
9496

9597
Overriding updates the classes, where it should opt for ``OsuHoldList`` instead of ``HoldList``.

docs/_sources/info/About.md.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,3 @@ control of layout before pushing it out to community development.
2323

2424
The reason for that is because I also aim to learn the ins and outs of developing a *good* package. I believe that I
2525
learn more of the whys and hows by failing.
26-

docs/_sources/info/ChangeLog.md.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,14 @@
66

77
- Refactored many parts of the package to make it more maintainable.
88
- Discontinued support for SV Package
9+
910
- Added CI/CD
1011
- Improved Testing
1112
- Improved Documentation
1213
- Simplify Replay Error parsing
1314
- Errors are calculated from the minimum distance instead of simulation of play
1415
- Wrap returns in Dataclasses to improve structuring
16+
1517
- _Honestly too many things I've fixed_
1618

1719
## 0.1.5
@@ -89,6 +91,7 @@ in the GitHub Release.
8991
- Convert all ``Hold`` classes to have a separate ``HoldTail`` class.
9092
- All ``Hold`` classes now have to initialize with ``_length`` instead of ``length``. However, length is still an
9193
accessible property
94+
9295
- Drop ``Obj`` Suffix for most classes
9396
- Deprecate ``analysis`` package for in-built base class functions
9497
- Create ``plot`` package for plotting only

docs/_sources/learn/Basics.md.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ Building Blocks of ReamberPy <BuildingBlocks>
5858
Working with Maps <WorkingWithMaps>
5959
Stacking <Stacking>
6060
Map Conversions <Conversions>
61+
Full LN Conversion <FullLN>
6162
Pattern Finding <Pattern>
6263
Play Field Image Generation <PlayField>
6364
Play Field Imaging for Patterns <PlayFieldPattern>

docs/_sources/learn/FullLN.md.txt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# Full LN
2+
3+
## Usage
4+
5+
To convert a map to a Full LN:
6+
7+
```py
8+
from reamber.algorithms.generate import full_ln
9+
from reamber.osu.OsuMap import OsuMap
10+
11+
osu = OsuMap.read_file("my_map.osu")
12+
osu2 = full_ln(osu, gap=150, ln_as_hit_thres=100)
13+
osu2.write_file("new_map.osu")
14+
```
15+
16+
> This works with other map types. It doesn't work with `MapSet`s
17+
18+
## Params
19+
20+
- `gap`: Gap between an LN Tail and the next note.
21+
- `ln_as_hit_thres`: Smallest LN length before it's converted to a hit.
22+
23+
For example:
24+
25+
- If the distance between 2 notes is 250ms
26+
- The `gap` is 150ms
27+
- There will be a 100ms LN rendered.
28+
29+
30+
- If the distance between 2 notes is 249ms
31+
- The `gap` is 150ms
32+
- There won't be a 99ms LN rendered if `ln_as_hit_thres=100`. Instead, a `Hit` will be rendered.
33+

docs/_static/documentation_options.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
var DOCUMENTATION_OPTIONS = {
22
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
3-
VERSION: '0.1.6',
3+
VERSION: '0.1.7',
44
LANGUAGE: 'None',
55
COLLAPSE_INDEX: false,
66
BUILDER: 'html',

0 commit comments

Comments
 (0)