Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SGA 2.0 #16

Open
wants to merge 59 commits into
base: staging
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
9984019
Update filesystem.py
ModernMAK May 17, 2023
19f3d4c
MyPy & Black fixes
ModernMAK May 17, 2023
b7b60e2
Update filesystem.py
ModernMAK Sep 25, 2023
630b809
Lazy Reading
ModernMAK Oct 10, 2023
8b1cf77
open_sga
ModernMAK Oct 13, 2023
685e60a
Update hashtools.py
ModernMAK Oct 23, 2023
a7ff4d4
Update lazyio.py
ModernMAK Oct 23, 2023
bb74ecc
Update serialization.py
ModernMAK Oct 23, 2023
a7218a2
Update essencesfs.py
ModernMAK Oct 23, 2023
5ec79a7
Fix refactoring failure
ModernMAK Oct 23, 2023
440c90c
Update from main
ModernMAK Oct 23, 2023
b2d766d
Patching differences
ModernMAK Oct 23, 2023
7cc907f
Update lazyio.py
ModernMAK Oct 23, 2023
076367b
Refactoring & Bugfixes
ModernMAK Oct 24, 2023
8f169a1
Stream and Buffer compression are swapped
ModernMAK Oct 27, 2023
b4d9c4a
Unpack preserve modified time
ModernMAK Oct 28, 2023
2d8ddc5
BugFixes
ModernMAK Oct 28, 2023
9697cf4
Move To BinProxySerializer
ModernMAK Oct 28, 2023
5b48caf
Delete _proxyfs.py
ModernMAK Oct 29, 2023
1b0ba6c
EssenceFS is now more of a 'protocol'
ModernMAK Oct 29, 2023
641a972
Refactoring
ModernMAK Oct 29, 2023
56d6805
Black
ModernMAK Oct 29, 2023
f104382
Refactoring
ModernMAK Oct 29, 2023
a4352e2
HashTools Updates
ModernMAK Oct 30, 2023
c235025
Dropped Regressions
ModernMAK Oct 30, 2023
a6d98a3
Delete test_filesystem.py
ModernMAK Oct 30, 2023
8e84bd1
Add Path Validator for argparser
ModernMAK Oct 30, 2023
9ca6838
Remove repack
ModernMAK Oct 30, 2023
7b709b4
Update todo to be more clear
ModernMAK Oct 30, 2023
40481e8
Delete test_issue_39.py
ModernMAK Oct 31, 2023
68230ad
Reimplement Info CLI feature
ModernMAK Oct 31, 2023
937f788
Replace cli_root with CLI
ModernMAK Oct 31, 2023
d5fbd4a
Refactoring for code clarity
ModernMAK Oct 31, 2023
f2d2df9
Fix issue 40 tests
ModernMAK Oct 31, 2023
3faaa58
Fix hashtools tests
ModernMAK Oct 31, 2023
2a43e82
Black
ModernMAK Oct 31, 2023
4fe8294
Refactor out serialization_tools dependency
ModernMAK Oct 31, 2023
381d646
Black
ModernMAK Oct 31, 2023
13e1309
Black and Mypy Fixes
ModernMAK Oct 31, 2023
3a0a442
More Black / Mypy fixes
ModernMAK Oct 31, 2023
ba1a000
More Mypy | Black updates
ModernMAK Oct 31, 2023
8673260
Fix pylint scoring
ModernMAK Oct 31, 2023
b56e200
More Refactoring
ModernMAK Oct 31, 2023
d68983d
Force ignore package namespace __init__.py
ModernMAK Oct 31, 2023
674d5f7
Refactor essencefs from module to package
ModernMAK Oct 31, 2023
bc48f6d
Refactoring EssenceFS
ModernMAK Nov 2, 2023
8b6a5cf
Fix step validator infinite recursion
ModernMAK Nov 4, 2023
ee518dc
Import from package over module
ModernMAK Nov 4, 2023
722286a
use magic word class
ModernMAK Nov 8, 2023
dee7fbe
build(pyproject): migrate to full pyproject.toml
ModernMAK Feb 9, 2024
7ef89e6
chore(ci): pre-commit hooks
ModernMAK Feb 9, 2024
cd5d5c1
chore(ci): Run Pre-Commit Hooks
ModernMAK Feb 10, 2024
80df348
ci(pre-commit): Update hooks
ModernMAK Feb 13, 2024
1301e0a
chore(serialization): Iterable => Iterator
ModernMAK Feb 13, 2024
9db04fd
build(version): Fix version to match current
ModernMAK Feb 13, 2024
0d834ba
style(sga-core): Apply formatting
ModernMAK Feb 13, 2024
53f260e
Drop mypy
ModernMAK Apr 22, 2024
445dfe5
Readd 'repack' command, & use RelicArgParser
ModernMAK Apr 22, 2024
4e60c10
Minor Test Updates
ModernMAK Apr 22, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions .github/workflows/black.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@ on:
workflow_dispatch:

push:
branches: [ main ]
branches: [main]
paths:
- 'src/relic/**'
- '.github/workflows/black.yml'
- src/relic/**
- .github/workflows/black.yml
pull_request:
branches: [ main ]
branches: [main]
paths:
- 'src/relic/**'
- '.github/workflows/black.yml'
- src/relic/**
- .github/workflows/black.yml

jobs:
black:
uses: MAK-Relic-Tool/Workflows/.github/workflows/black.yml@main
uses: MAK-Relic-Tool/Workflows/.github/workflows/black.yml@main
31 changes: 16 additions & 15 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,27 @@ on:
workflow_dispatch:

push:
branches: [ main ]
branches: [main]
paths:
- 'src/relic/**'
- '.github/workflows/mypy.yml'
- 'mypy.ini'
- 'setup.cfg'
- 'setup.py'
- 'MANIFEST.in'
- src/relic/**
- .github/workflows/mypy.yml
- mypy.ini
- setup.cfg
- setup.py
- MANIFEST.in
pull_request:
branches: [ main ]
branches: [main]
paths:
- 'src/relic/**'
- '.github/workflows/mypy.yml'
- 'mypy.ini'
- 'setup.cfg'
- 'setup.py'
- 'MANIFEST.in'
- src/relic/**
- .github/workflows/mypy.yml
- mypy.ini
- setup.cfg
- setup.py
- MANIFEST.in

jobs:
mypy:
uses: MAK-Relic-Tool/Workflows/.github/workflows/mypy.yml@main
with:
package: "relic.sga.core"
package: relic.sga.core
mypy-config: pyproject.toml
2 changes: 1 addition & 1 deletion .github/workflows/publish-pypi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ jobs:
pypi:
uses: MAK-Relic-Tool/Workflows/.github/workflows/publish-to-pypi.yml@main
secrets:
pypi-token: ${{ secrets.PYPI_API_TOKEN }}
pypi-token: ${{ secrets.PYPI_API_TOKEN }}
22 changes: 11 additions & 11 deletions .github/workflows/pylint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,22 +4,22 @@ on:
workflow_dispatch:

push:
branches: [ main ]
branches: [main]
paths:
- 'src/relic/**'
- '.github/workflows/pylint.yml'
- '.pylintrc'
- 'requirements.txt'
- src/relic/**
- .github/workflows/pylint.yml
- .pylintrc
- requirements.txt
pull_request:
branches: [ main ]
branches: [main]
paths:
- 'src/relic/**'
- '.github/workflows/pylint.yml'
- '.pylintrc'
- 'requirements.txt'
- src/relic/**
- .github/workflows/pylint.yml
- .pylintrc
- requirements.txt

jobs:
pylint:
uses: MAK-Relic-Tool/Workflows/.github/workflows/pylint.yml@main
with:
path: "src"
path: src
34 changes: 17 additions & 17 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,27 +4,27 @@ on:
workflow_dispatch:

push:
branches: [ main ]
branches: [main]
paths:
- 'src/relic/**'
- 'tests/**'
- '.github/workflows/pytest.yml'
- 'setup.cfg'
- 'setup.py'
- 'MANIFEST.in'
- 'test-requirements.txt'
- src/relic/**
- tests/**
- .github/workflows/pytest.yml
- setup.cfg
- setup.py
- MANIFEST.in
- test-requirements.txt

pull_request:
branches: [ main ]
branches: [main]
paths:
- 'src/relic/**'
- 'tests/**'
- '.github/workflows/pytest.yml'
- 'setup.cfg'
- 'setup.py'
- 'MANIFEST.in'
- 'test-requirements.txt'
- src/relic/**
- tests/**
- .github/workflows/pytest.yml
- setup.cfg
- setup.py
- MANIFEST.in
- test-requirements.txt

jobs:
pytest:
uses: MAK-Relic-Tool/Workflows/.github/workflows/pytest.yml@main
uses: MAK-Relic-Tool/Workflows/.github/workflows/pytest.yml@main
10 changes: 5 additions & 5 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@ __pycache__/
src/**/*.egg-info/*
dist/*

# Ignore local builds
build/**

# Ignore local test sources
tests/**/sources.json
# Ignore MyPy
.mypy_cache/

# Ignore docs
## Ignore compiled docs
docs/build/**
## Ignore autogenerated sources
docs/source/generated/**

# Ignore local builds
build/**
43 changes: 43 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v2.3.0
hooks:
- id: check-yaml
- id: end-of-file-fixer
- id: trailing-whitespace
- id: check-case-conflict
- id: check-docstring-first
- id: check-json
- id: pretty-format-json
args: [--autofix]
- id: check-merge-conflict
- id: check-toml
- id: check-yaml
- id: mixed-line-ending
- id: requirements-txt-fixer
- repo: https://github.com/psf/black
rev: 24.1.1
hooks:
- id: black
# - repo: https://github.com/pre-commit/mirrors-mypy
# rev: v1.8.0
# hooks:
# - id: mypy
# args: [--explicit-package-bases, --namespace-packages]
# additional_dependencies:
# - relic-tool-core >= 2.0.0
# - fs

- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
rev: v2.12.0
hooks:
- id: pretty-format-yaml
args: [--autofix]
- id: pretty-format-toml
args: [--autofix]

- repo: https://github.com/PyCQA/docformatter
rev: v1.7.5
hooks:
- id: docformatter
args: [--black, --in-place, --recursive]
2 changes: 1 addition & 1 deletion .pylintrc
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ enable=c-extension-no-member
# which contain the number of messages in each category, as well as 'statement'
# which is the total number of statements analyzed. This score is used by the
# global evaluation report (RP0004).
evaluation=10.0 - ((float(4 * error + 3 * warning + 2 * refactor + 1 * convention) / ((4+3+2+1) * statement)) * 10)
evaluation=10.0 - ((float(4 * error + 3 * warning + 2 * refactor + 1 * convention) / (4 * statement)) * 10)

# Template used to display messages. This is a python new-style format string
# used to format the message information. See doc for all details.
Expand Down
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
Expand Up @@ -671,4 +671,4 @@ into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<https://www.gnu.org/licenses/why-not-lgpl.html>.
<https://www.gnu.org/licenses/why-not-lgpl.html>.
2 changes: 1 addition & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1 +1 @@
global-include py.typed
global-include py.typed
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ pip install relic-tool-sga-core
For more information, see [pip VCS support](https://pip.pypa.io/en/stable/topics/vcs-support/#git)
```
pip install git+https://github.com/MAK-Relic-Tool/Relic-Tool-SGA-Core
```
```
20 changes: 10 additions & 10 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,14 +13,14 @@
import os
import sys

sys.path.insert(0, os.path.abspath('../../src'))
sys.path.insert(0, os.path.abspath("../../src"))

# -- Project information -----------------------------------------------------
from relic.sga import __version__ as package_version
from relic.sga.core import __version__ as package_version

project = 'Relic Tool - SGA'
copyright = '2022, Marcus Kertesz'
author = 'Marcus Kertesz'
project = "Relic Tool - SGA"
copyright = "2022, Marcus Kertesz"
author = "Marcus Kertesz"

# The full version, including alpha/beta/rc tags
release = package_version
Expand All @@ -32,13 +32,13 @@
# ones.

extensions = [
'sphinx.ext.autodoc', # Core library for html generation from docstrings
'sphinx.ext.autosummary', # Create neat summary tables
"sphinx.ext.autodoc", # Core library for html generation from docstrings
"sphinx.ext.autosummary", # Create neat summary tables
]
autosummary_generate = True # Turn on sphinx.ext.autosummary

# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
templates_path = ["_templates"]

# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
Expand All @@ -50,9 +50,9 @@
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'alabaster'
html_theme = "alabaster"

# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
html_static_path = ["_static"]
31 changes: 0 additions & 31 deletions mypy.ini

This file was deleted.

Loading