mirror of
https://github.com/TagStudioDev/TagStudio.git
synced 2026-01-29 06:10:51 +00:00
Update README.md
This commit is contained in:
32
README.md
32
README.md
@@ -44,16 +44,16 @@ TagStudio is a photo & file organization application with an underlying system t
|
||||
- Name, Author, Artist (Single-Line Text Fields)
|
||||
- Description, Notes (Multiline Text Fields)
|
||||
- Tags, Meta Tags, Content Tags (Tag Boxes)
|
||||
- Crete rich tags composed of a name, a list of aliases, and a list of “subtags” - being tags which this tag inherits values from.
|
||||
- Search for entries based on tags, metadata, or filename (using `filename: <query>`
|
||||
- Crete rich tags composed of a name, a list of aliases, and a list of “subtags” - being tags in which these tags inherit values from.
|
||||
- Search for entries based on tags, metadata, or filename (using `filename: <query>`)
|
||||
- Special search conditions for entries that are: `untagged`/`no tags` and `empty`/`no fields`.
|
||||
|
||||
> [!INFO]
|
||||
> [!NOTE]
|
||||
> For more information on the project itself, please see the [FAQ](#faq) section and other docs.
|
||||
|
||||
## Installation
|
||||
> [!CAUTION]
|
||||
> TagStudio is currently only verified to be working on Windows. I've run into issues with the Qt code running on Linux, but I don't currently know how severe these issues are. In addition, there's likely to be bugs regarding filenames and portability of the databases across different OSes.
|
||||
> TagStudio is only currently verified to work on Windows. I've run into issues with the Qt code running on Linux, but I don't know how severe these issues are. There's also likely bugs regarding filenames and portability of the databases across different OSes.
|
||||
|
||||
### Prerequisites
|
||||
|
||||
@@ -85,26 +85,26 @@ _Learn more about setting up a virtual environment [here](https://docs.python.or
|
||||
|
||||
To launch TagStudio, launch the `start_win.bat` file. You can modify this .bat file or create a shortcut and add one or more additional arguments if desired.
|
||||
|
||||
Alternatively, with the virtual environment loaded, run the python file at `tagstudio\tagstudio.py` from your terminal.
|
||||
Alternatively, with the virtual environment loaded, run the python file at `tagstudio\tagstudio.py` from your terminal. If you're in the project's root directory, simply run `python3 tagstudio/tagstudio.py`.
|
||||
|
||||
#### Linux & macOS
|
||||
|
||||
> [!CAUTION]
|
||||
> TagStudio on Linux & macOS likely won't function correctly at this time. If you're trying to run this in order to help test, debug, and improve compatibility, then charge on ahead!
|
||||
|
||||
With the virtual environment loaded, run the python file at "tagstudio/tagstudio.py" from your terminal. If in the project's root directory, simply run `python3 tagstudio/tagstudio.py`.
|
||||
With the virtual environment loaded, run the python file at "tagstudio/tagstudio.py" from your terminal. If you're in the project's root directory, simply run `python3 tagstudio/tagstudio.py`.
|
||||
|
||||
## Usage
|
||||
|
||||
### Creating/Opening a Library
|
||||
|
||||
With TagStudio launched, start by creating a new library or opening an existing one using File -> Open/Create Library from the menu. TagStudio will automatically create a new library from the chosen directory if one does not already exist. Upon creating a new library, TagStudio will automatically scan your folders for files and add those to your library.
|
||||
With TagStudio opened, start by creating a new library or opening an existing one using File -> Open/Create Library from the menu bar. TagStudio will automatically create a new library from the chosen directory if one does not already exist. Upon creating a new library, TagStudio will automatically scan your folders for files and add those to your library (no files are moved during this process!).
|
||||
|
||||
### Refreshing the Library
|
||||
|
||||
In order to scan for new files or file changes, you’ll need to manually go to File -> Refresh Directories.
|
||||
|
||||
> [!INFO]
|
||||
> [!NOTE]
|
||||
> In the future, library refreshing will also be automatically done in the background, or additionally on app startup.
|
||||
|
||||
### Adding Metadata to Entries
|
||||
@@ -172,7 +172,7 @@ Create an image collage of your photos and videos.
|
||||
|
||||
#### Macros
|
||||
|
||||
Apply tags and other metadata depending on certain criteria. Set specific macros to run when the files are added to the library. Part of this including applying tags automatically based on parent folders.
|
||||
Apply tags and other metadata automatically depending on certain criteria. Set specific macros to run when the files are added to the library. Part of this includes applying tags automatically based on parent folders.
|
||||
|
||||
> [!CAUTION]
|
||||
> Macro options are hardcoded, and there’s currently no way for the user to interface with this (still incomplete) system at all.
|
||||
@@ -188,11 +188,11 @@ Import JSON sidecar data generated by [gallery-dl](https://github.com/mikf/galle
|
||||
|
||||
### What State Is the Project Currently In?
|
||||
|
||||
As of writing (v9.1.0 Alpha) the project is in a “useable” state, however it lacks proper testing and quality of life features. Currently the program has only been tested on Windows, and is unlikely to properly run on Linux or macOS in its current state, however this functionality is a priority going forward with testers.
|
||||
As of writing (Alpha v9.1.0) the project is in a “useable” state, however it lacks proper testing and quality of life features. Currently the program has only been verified to work properly on Windows, and is unlikely to properly run on Linux or macOS in its current state, however this functionality is a priority going forward with testers.
|
||||
|
||||
### What Features Are You Planning on Adding?
|
||||
|
||||
Of the several features I have planned for the project, these are broken up into “[priority](#priority-features)” features and “[future](#future-features)” features. Priority features were originally intended for the first public release, however are currently absent from the v9.x.x Alpha builds.
|
||||
Of the several features I have planned for the project, these are broken up into “priority” features and “future” features. Priority features were originally intended for the first public release, however are currently absent from the Alpha v9.x.x builds.
|
||||
|
||||
#### Priority Features
|
||||
|
||||
@@ -217,7 +217,7 @@ Of the several features I have planned for the project, these are broken up into
|
||||
- User-defined metadata fields
|
||||
- Multiple directory support
|
||||
- SQLite (or similar) save files
|
||||
- Reading and writing of EXIF and XMP fields
|
||||
- Reading of EXIF and XMP fields
|
||||
- Improved UI/UX
|
||||
- Better internal API for accessing Entries, Tags, Fields, etc. from the library.
|
||||
- Proper testing workflow
|
||||
@@ -245,6 +245,12 @@ Of the several features I have planned for the project, these are broken up into
|
||||
- Support for local machine learning-based tag suggestions for images
|
||||
- Mobile version
|
||||
|
||||
#### Features I Likely Won’t Add/Pull
|
||||
- Native Cloud Integration
|
||||
- There are plenty of services already (native or third-party) that allow you to mount your cloud drives as virtual drives on your system. Pointing TagStudio to one of these mounts should function similarly to what native integration would look like.
|
||||
- Native ChatGPT/Non-Local LLM Integration
|
||||
- This could mean different things depending on what you're intending. Whether it's trying to use an LLM to replace the native search, or to trying to use a model for image recognition, I'm not interested in hooking people's TagStudio libraries into non-local LLMs such as ChatGPT and/or turn the program into a "chatbot" interface (see: [Goals/Privacy](#goals)). I wouldn't, however, mind using **locally** hosted models to provide the *optional* ability for additional searching and tagging methods (especially when it comes to facial recognition).
|
||||
|
||||
### Why Is the Version Already v9?
|
||||
|
||||
I’ve been developing this project over several years in private, and have gone through several major iterations and rewrites in that time. This “major version” is just a number at the end of the day, and if I wanted to I couldn’t released this as “Version 0” or “Version 1.0”, but I’ve decided to stick to my original version numbers to avoid needing to go in and change existing documentation and code comments. Version 10 is intended to include all of the “Priority Features” I’ve outlined in the [previous](#what-features-are-you-planning-on-adding) section. I’ve also labeled this version as an Alpha, and will likely reset the numbers when a feature-complete beta is reached.
|
||||
@@ -255,6 +261,6 @@ As of right now, no. However, I _did_ have a CLI version in the recent past befo
|
||||
|
||||
### Can I Contribute?
|
||||
|
||||
**Yes!!** I recommend taking a look at the [Priority Features](#priority-features) list, as well as the project issues to see what’s currently being worked on. Please do not submit pull requests with new feature additions without opening up an issue with a feature request first.
|
||||
**Yes!!** I recommend taking a look at the [Priority Features](#priority-features), [Future Features](#future-features), and [Features I Won't Pull](#features-i-likely-wont-addpull) lists, as well as the project issues to see what’s currently being worked on. Please do not submit pull requests with new feature additions without opening up an issue with a feature request first.
|
||||
|
||||
As of writing I don’t have a concrete style guide, just try to stay within or close enough to the PEP 8 style guide and/or match the style of the existing code.
|
||||
|
||||
Reference in New Issue
Block a user