107 lines
4.5 KiB
Markdown
107 lines
4.5 KiB
Markdown
# skyeweave
|
|
|
|
Easily generate any FGO expression sheets from an id
|
|
|
|
> Developed by [Firq](https://firq.dev/) and powered by the [AtlasAcademy API](https://atlasacademy.io/)
|
|
|
|
## Installation
|
|
|
|
The CLI can be installed by using `pip`. Python >= 3.10 is required.
|
|
|
|
```shell
|
|
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 path `C:/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:
|
|
|
|
```plain
|
|
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.
|
|
|
|
```python
|
|
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):
|
|
|
|
```powershell
|
|
$env:SKYEWEAVE_STDOUT_LEVEL="debug"
|
|
|
|
skyeweave --output out --id 70 2>&1 log.log
|
|
```
|
|
|
|
Linux (Bash):
|
|
|
|
```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](https://www.reddit.com/r/github/comments/1at9br4) 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?
|
|
|
|
1. Go to [the download page](https://www.python.org/downloads/) and download a current version of Python (must be version 3.10 or later for this package to work).
|
|
2. Install Python as you would any other program, make sure it gets added to PATH
|
|
3. 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 like `Python 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.
|