.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 (./out
or 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 --version
once 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.