
Product
Secure Your AI-Generated Code with Socket MCP
Socket MCP brings real-time security checks to AI-generated code, helping developers catch risky dependencies before they enter the codebase.
An opinionated build tool for Anki add-ons. Used in most of my major Anki projects.
This is still very much a work-in-progress. Neither the API, nor the implementation are set in stone. At this point the project's main purpose lies in replacing the variety of different build scripts I am employing across all of my add-ons, making the build chain more standardized and maintainable.
aab
has only been tested on Linux so far, but it might also work on other POSIX-compliant environments like macOS.
aab
needs to be run in an Anki development environment to work correctly. Please refer to Anki's documentation for information on how to set this up.
pip install aab
pip install --upgrade git+https://github.com/glutanimate/anki-addon-builder.git
You can get an overview of all supported actions by accessing the built-in help:
$ aab -h
usage: aab [-h] [-v] [-s] {build,ui,clean} ...
positional arguments:
{build,ui,clean}
build Build and package add-on for distribution
ui Compile add-on user interface files
clean Clean leftover build files
optional arguments:
-h, --help show this help message and exit
-v, --verbose Enable verbose output
Each subcommand also comes with its own help screen, e.g.:
$ aab build -h
usage: aab build [-h] [-t {anki21,anki20,all}] [-d {local,ankiweb,all}]
[version]
positional arguments:
version Version to build as a git reference (e.g. 'v1.2.0' or
'd338f6405'). Special keywords: 'current' β latest
commit, 'release' β latest tag. Leave empty to build
latest tag.
optional arguments:
-h, --help show this help message and exit
-t {anki21,anki20,all}, --target {anki21,anki20,all}
Anki version to build for
-d {local,ankiweb,all}, --dist {local,ankiweb,all}
Distribution channel to build for
Build latest tagged add-on release
aab build -d local -t anki21 release
or simply
aab build
Compile Qt UI forms and resources for Anki 2.1
aab ui -t anki21
In order for aab
to work correctly, your project should generally follow the directory structure below:
project root
βββ src [required] (contains add-on package and Anki 2.0 entry-point)
β βββ {module_name} [required] (add-on package)
| βββ {display_name}.py [optional] (Anki 2.0 entry-point)
βββ addon.json [required] (contains add-on meta information read by aab)
For a more detailed look at the entire directory tree please feel free to take a look at some of the add-ons I've published recently.
All of the metadata needed by aab
to work correctly is stored in an addon.json
file at the root of the project tree. For more information on its fields and their specifications please refer to the schema file.
Anki Add-on Builder is Copyright Β© 2019 Aristotelis P. (Glutanimate)
Anki Add-on Builder is free and open-source software. Its source-code is released under the GNU AGPLv3 license, extended by a number of additional terms. For more information please see the license file that accompanies this program.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY. Please see the license file for more details.
FAQs
Anki Add-on Builder
We found that aab demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago.Β It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket MCP brings real-time security checks to AI-generated code, helping developers catch risky dependencies before they enter the codebase.
Security News
As vulnerability data bottlenecks grow, the federal government is formally investigating NISTβs handling of the National Vulnerability Database.
Research
Security News
Socketβs Threat Research Team has uncovered 60 npm packages using post-install scripts to silently exfiltrate hostnames, IP addresses, DNS servers, and user directories to a Discord-controlled endpoint.