|
All checks were successful
/ mypy (push) Successful in 30s
/ tests (3.10) (push) Successful in 1m15s
/ tests (3.12) (push) Successful in 1m11s
/ pylint (push) Successful in 27s
/ tests (3.13) (push) Successful in 1m8s
/ tests (3.11) (push) Successful in 1m13s
/ publish-artifacts (push) Successful in 1m17s
/ release (push) Successful in 37s
/ lint-and-typing (push) Successful in 42s
/ build-artifacts (push) Successful in 8s
|
||
|---|---|---|
| .forgejo/workflows | ||
| skyeweave | ||
| tests | ||
| .gitignore | ||
| pyproject.toml | ||
| README.md | ||
skyeweave
Easily generate any FGO expression sheets from an id
Developed by Firq and powered by the AtlasAcademy API
Installation
The CLI can be installed by using pip. Python >= 3.10 is required.
pip install --extra-index-url https://forgejo.neshweb.net/api/packages/Firq/pypi/simple/ skyeweave
Note: Specifying the additional index of forgejo.neshweb.net is necessary, as I don't host my packages on PyPI. Using --extra-index-url is necessary as the
specified depencencies are not hosted on that index.
Usage
commandline
skyeweave is primarily a CLI application.
The following options are available:
--help/-h: Shows helpful information about the other arguments--version: Shows the version number--output: Sets the output file path. This can be a relative path (./outor an absolute pathC:/files/out)--id: Specify a servantId or charaId. This will skip the user prompt afterwards (useful in CI applications)--filter: Specify which spritesheets will actually be used. Useful if you want multiple spritesheets, but not all--timeout: Sets the timeout for any requests towards the Atlas Academy API. The default is 10 seconds--no-cache: Clear cache for this id, keeping all other files--reset: Delete any already downloaded assets--quiet/-q: Mute the output and hide progress bars
Typical usage:
skyeweave --output out --id 70
This would generate the expressions for Scathach (Servant Id 70) in the folder out, using subfolders to better separate the outputs of multiple runs.
For generating sprite sheets of only a singular ascension, use the charaId of the given sprite sheet collection. This is NOT to be confused with the baseSvtId, which is similar, but one digit short.
python scripts [EXPERIMENTAL]
skyeweave can also be used in other Python scripts.
from skyeweave import SkyeWeave
SkyeWeave().compose(70)
This feature will be expanded upon in future releases.
Issues / Support
If there are any issues with skyeweave, feel free to reach out to me using the AtlasAcademy discord (#dev-corner) or create an issue in this repo.
If you want to help me debug when an issue occurs, set the environment variable SKYEWEAVE_STDOUT_LEVEL to debug and send me a copy of the log
Windows (PowerShell):
$env:SKYEWEAVE_STDOUT_LEVEL="debug"
skyeweave --output out --id 70 2>&1 log.log
Linux (Bash):
SKYEWEAVE_STDOUT_LEVEL="debug"
skyeweave --output out --id 70 2>&1 log.log
Contributing
Feel free to reach out if you want to help to improve skyeweave. I really appreachiate it.
FAQ
Q: Why Python
A: Because it is the language I am the most familiar with, and I know my stuff. I also like not having to deal with too many restrictions when developing or the mess that is JS/TS.
Q: Why a CLI script?
A: Because it felt like the appropriate solution for this problem. Writing a whole GUI application felt overkill, and for the most part having the tool just spittingt out the necessary files is more than enough.
Q: Where is the executable? Why do I have to install Python?
A: Because I said so! In all honesty, I felt that it's too much work for too little return building executables for multiple systems, expecially with pyinstaller resulting in a large executable for what is actually happening. Installing Python is pretty straightforward, and I have attached guidance for setting up from scratch below. Also: See this gem for another reason.
Q: How did this come to be?
A: I am usually editing thumbnails for my videos with the expression sheets, and at some point I was just annoyed as the process of editing those for EVERY. SINGLE. SERVANT. IN. EVERY. THUMBNAIL.
How to install Python?
- Go to the download page and download a current version of Python (must be version 3.10 or later for this package to work).
- Install Python as you would any other program, make sure it gets added to PATH
- Open a Terminal (cmd, poweshell on Windows; bash, sh, ... on Linux) and run
python --versiononce to verify it installed correctly. There should be some output likePython 3.11.9
After this, you can continue with the instructions above. I highly recommend you check out of virtual environments (venv) work beofre installing, so that you don't pollute the global package installation directory.