Skip to content

Commit 04dcbfe

Browse files
authored
feat(api)!: refactor code structure and libraries for simplicity and maintability (#179)
2 parents 05083a4 + 17ca3a0 commit 04dcbfe

File tree

226 files changed

+14377
-28262
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

226 files changed

+14377
-28262
lines changed

CHANGELOG.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
11
# Changelog
22
All notable changes to this project will be documented in this file.
33

4+
## v1.0.0-alpha
5+
### BREAKING CHANGES
6+
This release written from scratch to simplify the code and maintainability.
7+
Please read the [wiki.md](docs/wiki.md) for more information.
8+
9+
#### What is new?
10+
1. Global config now use INI format
11+
2. App specific configs now use better structured Json format
12+
3. We now use new libraries for better performance
13+
- orjson instead of json
14+
- uvloop instead of asyncio for running
15+
- aiohttp instead of requests
16+
- tqdm.asyncio instead of manual progress bar
17+
4. Authentication is simplified for better security and performance
18+
5. Locale support, migration and other similar features removed for the simplicity of the code
19+
but they might be implemented in the future.
20+
21+
#### Migration guide
22+
- Remove anything related to the old version, including old appimages, versions and configs.
23+
- Install the new version of the app with the instructions provided in the README.md.
24+
- Check the [wiki.md](docs/wiki.md) for more information how to use the app.
25+
426
## v0.15.2-alpha
527
## v0.15.1-alpha
628
## v0.15.0-alpha

README.md

Lines changed: 7 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ Türkçe Açıklama: [README.tr.md](README.tr.md)
1212
> [!NOTE]
1313
> I always frustrated with the manual AppImage update process and I created this project to automate the process.
1414
>
15+
> This project introduces a Python-based CLI tool that treats AppImages like packages: installable, updatable,
16+
> and manageable via a simple interface.
1517
> Detailed information: [wiki.md](docs/wiki.md)
1618
1719
- **Supported Applications:**
@@ -20,7 +22,7 @@ Türkçe Açıklama: [README.tr.md](README.tr.md)
2022
- FreeTube
2123
- Related issue: https://github.com/FreeTubeApp/FreeTube/issues/4720)
2224
- Obsidian
23-
- More can be found in the [apps](my_unicorn/apps/) folder.
25+
- More can be found in the [catalog](my_unicorn/catalog/) folder.
2426
- **Supported hash types:**
2527
- sha256, sha512
2628

@@ -35,61 +37,20 @@ Türkçe Açıklama: [README.tr.md](README.tr.md)
3537
cd ~/Downloads &
3638
git clone https://github.com/Cyber-Syntax/my-unicorn.git
3739
```
38-
40+
3941
2. Build as a package:
4042

4143
```bash
4244
cd my-unicorn &
4345
sh my-unicorn-installer.sh install
4446
```
4547

46-
## Remove the package:
47-
48-
> [!TIP]
49-
> This would remove the package if you installed globally.
48+
3. Start using my-unicorn:
5049

5150
```bash
52-
pip uninstall my-unicorn
51+
my-unicorn --help # to see the command options
5352
```
5453

55-
# How to use the script?
56-
57-
## Using as a package:
58-
59-
```bash
60-
my-unicorn --help # to see the command options
61-
```
62-
63-
```bash
64-
usage: my-unicorn [-h] {download,install,update,token,migrate} ...
65-
66-
my-unicorn: AppImage management tool
67-
68-
positional arguments:
69-
{download,install,update,token,migrate}
70-
Available commands
71-
download Download AppImage from URL
72-
install Install app from catalog
73-
update Update AppImages
74-
token GitHub token management
75-
migrate Migrate configuration files
76-
77-
options:
78-
-h, --help show this help message and exit
79-
80-
Examples:
81-
my-unicorn # Interactive mode (default)
82-
my-unicorn download https://github.com/johannesjo/super-productivity # Download AppImage from URL
83-
my-unicorn install joplin # Install AppImage from catalog
84-
my-unicorn update --all # Update all AppImages
85-
my-unicorn update --select joplin,super-productivity # Select AppImages to update
86-
my-unicorn token --save # Save GitHub token to keyring
87-
my-unicorn token --remove # Remove GitHub token
88-
my-unicorn token --check # Check GitHub API rate limits
89-
my-unicorn migrate --clean # Migrate configuration files
90-
my-unicorn migrate --force # Migrate configuration without confirmation
91-
```
92-
9354
## For using uncompatible apps (installing with URL):
9455

9556
> [!IMPORTANT]
@@ -100,7 +61,7 @@ my-unicorn migrate --force # Migrate configuration without confirmation
10061
- **Hash type:** Specify the hash type (e.g., sha512 for super-productivity).
10162
- **Hash verification issues:** If the hash verification fails, you can manually add the hash to the JSON file:
10263
- Look for the latest hash in the GitHub release page (e.g., [super-productivity releases](https://github.com/johannesjo/super-productivity/releases)).
103-
- Check the [apps](my_unicorn/apps/) folder for examples.
64+
- Check the [catalog](my_unicorn/catalog/) folder for examples.
10465
10566
# **🙏 Support This Project**
10667

config_files_examples/apps/AppFlowy.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

config_files_examples/apps/FreeTube.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

config_files_examples/apps/QOwnNotes.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

config_files_examples/apps/Zettlr.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

config_files_examples/apps/joplin.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

config_files_examples/apps/logseq.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

config_files_examples/apps/obsidian.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

config_files_examples/apps/siyuan.json

Lines changed: 0 additions & 4 deletions
This file was deleted.

0 commit comments

Comments
 (0)