starbash 0.1.1__py3-none-any.whl → 0.1.4__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of starbash might be problematic. Click here for more details.
- starbash/__init__.py +5 -0
- starbash/analytics.py +21 -6
- starbash/app.py +145 -17
- starbash/commands/repo.py +102 -30
- starbash/commands/select.py +326 -0
- starbash/commands/user.py +91 -6
- starbash/database.py +152 -20
- starbash/defaults/starbash.toml +2 -34
- starbash/main.py +25 -127
- starbash/recipes/README.md +3 -0
- starbash/recipes/__init__.py +0 -0
- starbash/recipes/master_bias/starbash.toml +55 -0
- starbash/recipes/master_flat/starbash.toml +46 -0
- starbash/recipes/osc_dual_duo/starbash.py +151 -0
- starbash/recipes/osc_dual_duo/starbash.toml +88 -0
- starbash/recipes/osc_single_duo/starbash.toml +67 -0
- starbash/recipes/starbash.toml +34 -0
- starbash/repo/manager.py +82 -21
- starbash/selection.py +36 -0
- starbash/templates/userconfig.toml +33 -1
- starbash-0.1.4.dist-info/METADATA +124 -0
- starbash-0.1.4.dist-info/RECORD +32 -0
- starbash/commands/selection.py +0 -117
- starbash-0.1.1.dist-info/METADATA +0 -96
- starbash-0.1.1.dist-info/RECORD +0 -24
- {starbash-0.1.1.dist-info → starbash-0.1.4.dist-info}/WHEEL +0 -0
- {starbash-0.1.1.dist-info → starbash-0.1.4.dist-info}/entry_points.txt +0 -0
- {starbash-0.1.1.dist-info → starbash-0.1.4.dist-info}/licenses/LICENSE +0 -0
|
@@ -10,12 +10,44 @@ kind = "preferences"
|
|
|
10
10
|
# enabled = true # default is true - change to false if you don't want any analytics/crash-reports
|
|
11
11
|
# include_user = false # default is false - change to true if you'd like your email added to crash reports/analytics
|
|
12
12
|
|
|
13
|
-
[user]
|
|
13
|
+
# [user]
|
|
14
14
|
# default author info
|
|
15
15
|
# name = "Your Name"
|
|
16
16
|
# email = "youremail@somedomain.com"
|
|
17
17
|
# website = "https://yourwebsite"
|
|
18
18
|
# license = "FIXME eventually applied as the default license for generated images Creative commons etc..."
|
|
19
19
|
|
|
20
|
+
|
|
21
|
+
# [config]
|
|
22
|
+
# Filters fits fields should we store in our DB cache. By default we store all fits headers.
|
|
23
|
+
#fits-whitelist = [
|
|
24
|
+
# "INSTRUME",
|
|
25
|
+
# "FILTER",
|
|
26
|
+
# "TELESCOP",
|
|
27
|
+
# "IMAGETYP",
|
|
28
|
+
# "DATE-OBS",
|
|
29
|
+
# "DATE-LOC",
|
|
30
|
+
# "DATE",
|
|
31
|
+
# "EXPTIME", # Use use this instead of EXPOSURE because it seems like not all apps use EXPOSURE (Siril)
|
|
32
|
+
# "FWHEEL",
|
|
33
|
+
# "OBJECT",
|
|
34
|
+
# "RA", # we ignore the text version OBJCTRA / OBJCTDEC
|
|
35
|
+
# "DEC",
|
|
36
|
+
# "OBJCTROT",
|
|
37
|
+
# "FOCPOS",
|
|
38
|
+
# "SITELAT",
|
|
39
|
+
# "SITELON",
|
|
40
|
+
# "SITEELEV",
|
|
41
|
+
# "NAXIS1",
|
|
42
|
+
# "NAXIS2",
|
|
43
|
+
# "SWCREATE",
|
|
44
|
+
# "XBINNING",
|
|
45
|
+
# "YBINNING",
|
|
46
|
+
# "GAIN",
|
|
47
|
+
# "CCD-TEMP",
|
|
48
|
+
# "SET-TEMP",
|
|
49
|
+
# "AMBTEMP",
|
|
50
|
+
#]
|
|
51
|
+
|
|
20
52
|
# DO NOT edit below this line, they are managed automatically via
|
|
21
53
|
# the "sb repo add" etc... commands.
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: starbash
|
|
3
|
+
Version: 0.1.4
|
|
4
|
+
Summary: A tool for automating/standardizing/sharing astrophotography workflows.
|
|
5
|
+
License-File: LICENSE
|
|
6
|
+
Author: Kevin Hester
|
|
7
|
+
Author-email: kevinh@geeksville.com
|
|
8
|
+
Requires-Python: >=3.12,<3.15
|
|
9
|
+
Classifier: Programming Language :: Python :: 3
|
|
10
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
13
|
+
Requires-Dist: astropy (>=7.1.1,<8.0.0)
|
|
14
|
+
Requires-Dist: multidict (>=6.7.0,<7.0.0)
|
|
15
|
+
Requires-Dist: platformdirs (>=4.5.0,<5.0.0)
|
|
16
|
+
Requires-Dist: restrictedpython (>=8.1,<9.0)
|
|
17
|
+
Requires-Dist: rich (>=14.2.0,<15.0.0)
|
|
18
|
+
Requires-Dist: sentry-sdk (>=2.42.1,<3.0.0)
|
|
19
|
+
Requires-Dist: tomlkit (>=0.13.3,<0.14.0)
|
|
20
|
+
Requires-Dist: typer (>=0.20.0,<0.21.0)
|
|
21
|
+
Description-Content-Type: text/markdown
|
|
22
|
+
|
|
23
|
+
# Starbash
|
|
24
|
+
|
|
25
|
+
[](https://pypi.org/project/starbash/)
|
|
26
|
+
[](https://github.com/geeksville/starbash/actions)
|
|
27
|
+
[](https://codecov.io/github/geeksville/starbash)
|
|
28
|
+
|
|
29
|
+

|
|
30
|
+
|
|
31
|
+
A tool for automating/standardizing/sharing astrophotography workflows.
|
|
32
|
+
|
|
33
|
+
# Current status
|
|
34
|
+
|
|
35
|
+
Not quite ready 😊. But making good progress.
|
|
36
|
+
|
|
37
|
+
See the current [TODO](TODO.md) file for work items. I'll be looking for pre-alpha testers/feedback soon.
|
|
38
|
+
|
|
39
|
+
## Current features
|
|
40
|
+
|
|
41
|
+
* Automatically recognizes and auto-parses the default NINA, Asiair and Seestar raw file repos (adding support for other layouts is easy)
|
|
42
|
+
* Multisession support by default (including automatic selection of correct flats, biases and dark frames)
|
|
43
|
+
* 'Repos' can contain raw files, generated masters, preprocessed files, or recipes.
|
|
44
|
+
|
|
45
|
+
## Features coming soon
|
|
46
|
+
|
|
47
|
+
* Automatically performs **complete** preprocessing on OSC (broadband, narrowband or dual Duo filter), Mono (LRGB, SHO) data. i.e. give you 'seestar level' auto-preprocessing, so you only need to do the (optional) custom post-processing.
|
|
48
|
+
* Generates a per target report/config file which can be customized if the detected defaults or preprocessing are not what you want
|
|
49
|
+
* 'Recipes' provide repeatable/human-readable/sharable descriptions of all processing steps
|
|
50
|
+
* Repos can be on the local disk or shared via HTTPS/github/etc. This is particularly useful for recipe repos
|
|
51
|
+
* Uses Siril and Graxpert for its pre-processing operations (support for Pixinsight based recipes will probably be coming at some point...)
|
|
52
|
+
* The target report can be used to auto generate a human friendly 'postable/sharable' report about that image
|
|
53
|
+
* Target reports are sharable so that you can request comments by others and others can rerender with different settings
|
|
54
|
+
|
|
55
|
+
## Installing
|
|
56
|
+
|
|
57
|
+
Currently the easiest way to install this command-line based tool is to install is via [pipx](https://pipx.pypa.io/stable/). If you don't already have pipx and you have python installed, you can auto install it by running "pip install --user pipx." If you don't have python installed see the pipx link for pipx installers for any OS.
|
|
58
|
+
|
|
59
|
+
Once pipx is installed just run:
|
|
60
|
+
|
|
61
|
+
```
|
|
62
|
+
pipx install starbash
|
|
63
|
+
installed package starbash 0.1.3, installed using Python 3.12.3
|
|
64
|
+
These apps are now globally available
|
|
65
|
+
- sb
|
|
66
|
+
- starbash
|
|
67
|
+
done! ✨ 🌟 ✨
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
FIXME - add getting started instructions (possibly with a screenshare video)
|
|
71
|
+
|
|
72
|
+
## Supported commands
|
|
73
|
+
|
|
74
|
+
### Repository Management
|
|
75
|
+
- `sb repo [--verbose]` - List installed repos (use `-v` for details)
|
|
76
|
+
- `sb repo add <filepath|URL>` - Add a repository
|
|
77
|
+
- `sb repo remove <REPONUM>` - Remove the indicated repo from the repo list
|
|
78
|
+
- `sb repo reindex [--force] [REPONUM]` - Reindex the specified repo (or all repos if none specified)
|
|
79
|
+
|
|
80
|
+
### User Preferences
|
|
81
|
+
- `sb user name "Your Name"` - Set name for attribution in generated images
|
|
82
|
+
- `sb user email "foo@example.com"` - Set email for attribution in generated images
|
|
83
|
+
- `sb user analytics <on|off>` - Turn analytics collection on/off
|
|
84
|
+
- `sb user reinit` - Configure starbash via a brief guided process
|
|
85
|
+
|
|
86
|
+
### Selection & Filtering
|
|
87
|
+
- `sb select` - Show information about the current selection
|
|
88
|
+
- `sb select list` - List sessions (filtered based on the current selection)
|
|
89
|
+
- `sb select any` - Remove all filters (select everything)
|
|
90
|
+
- `sb select target <TARGETNAME>` - Limit selection to the named target
|
|
91
|
+
- `sb select telescope <TELESCOPENAME>` - Limit selection to the named telescope
|
|
92
|
+
- `sb select date <after|before|between> <DATE> [DATE]` - Limit to sessions in the specified date range
|
|
93
|
+
- `sb select export SESSIONNUM DESTDIR` - Export the images for indicated session number into the specified directory (or current directory if not specified). If possible symbolic links are used, if not the files are copied.
|
|
94
|
+
|
|
95
|
+
## Not yet supported commands
|
|
96
|
+
|
|
97
|
+
### Setup & Configuration
|
|
98
|
+
- `sb info` - Show user preferences location and other app info
|
|
99
|
+
- `sb info target` - List targets (filtered based on the current selection)
|
|
100
|
+
- `sb info telescope` - List instruments (filtered based on the current selection)
|
|
101
|
+
- `sb info filter` - List all filters found in current selection
|
|
102
|
+
|
|
103
|
+
### Export & Processing
|
|
104
|
+
- `sb process siril` - Generate Siril directory tree and run Siril GUI
|
|
105
|
+
- `sb process auto` - Automatic processing
|
|
106
|
+
- `sb process masters` - Generate master flats, darks, and biases from available raw frames
|
|
107
|
+
|
|
108
|
+
## Supported tools (now)
|
|
109
|
+
|
|
110
|
+
* Siril
|
|
111
|
+
* Graxpert
|
|
112
|
+
* Python (you can add python code to recipes if necessary)
|
|
113
|
+
|
|
114
|
+
## Supported tools (future?)
|
|
115
|
+
|
|
116
|
+
* Pixinsight?
|
|
117
|
+
* Autostakkert?
|
|
118
|
+
|
|
119
|
+
## Developing
|
|
120
|
+
|
|
121
|
+
We try to make this project useful and friendly. If you find problems please file a github issue.
|
|
122
|
+
We accept pull-requests and enjoy discussing possible new development directions via github issues. If you might want to work on this, just describe what your interests are and we can talk about how to get it merged.
|
|
123
|
+
|
|
124
|
+
Project members can access crash reports [here](https://geeksville.sentry.io/insights/projects/starbash/?project=4510264204132352).
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
starbash/__init__.py,sha256=nRJWVExYaZFtpk6nIi7zqmR53Ts5fA92OEvNVoIV8Ek,260
|
|
2
|
+
starbash/analytics.py,sha256=6-wc8AovF8z6DDvDQDV0gGjBib_mWXUV4cuRHsK9Szs,4250
|
|
3
|
+
starbash/app.py,sha256=_rTanRxsnq1I6yXO_PA2XTVnkkGnD6LHYkl_7evtKSg,18068
|
|
4
|
+
starbash/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
starbash/commands/repo.py,sha256=nPtt7vtkq0lMwkrL8qgsptV26MEathbPp3X2fVBn_ug,4950
|
|
6
|
+
starbash/commands/select.py,sha256=vTSkwJlH0BMQoMjB23ZGlV5OZEx0dllyN-cxf9st-yk,11727
|
|
7
|
+
starbash/commands/user.py,sha256=MIJFhhWokoaBiZ6rKqQaSVxSvO_glwG5dTGhaZy-6PA,4249
|
|
8
|
+
starbash/database.py,sha256=1rpmc3FZvuqAORe1F4A6_pcOrPim2-1O2r-tLII0CCI,18333
|
|
9
|
+
starbash/defaults/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
+
starbash/defaults/starbash.toml,sha256=gciQjE2Q5QgS1aUph9Y4icI0xpYeDOALkzpAjZiabIk,1737
|
|
11
|
+
starbash/main.py,sha256=xrvcldUCdKnsQmUEy84jmm2AeBNMyqCi-vEyLSBMWAc,1404
|
|
12
|
+
starbash/paths.py,sha256=BKKnSXt3tOh16o7ljDcQLtWKIiepEmud9JFtzRwDHtg,1317
|
|
13
|
+
starbash/recipes/README.md,sha256=OC0CUAL7xhxujOtEg97vrdNLZmGPLusBeOnwTo5rKN8,317
|
|
14
|
+
starbash/recipes/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
starbash/recipes/master_bias/starbash.toml,sha256=KX2hFDVnLaBBULYnNnlSqXkflW4wP_04MnSaREk2IgI,2122
|
|
16
|
+
starbash/recipes/master_flat/starbash.toml,sha256=HWZXjXbTiExsC6o5QNr1-5x37PBRo7XNwBEto8Ea-LE,1430
|
|
17
|
+
starbash/recipes/osc_dual_duo/starbash.py,sha256=2cI4L6-d50-mL4hY0Oe6ad1v7g18D7ud0Hn0AlHZDOk,5788
|
|
18
|
+
starbash/recipes/osc_dual_duo/starbash.toml,sha256=xh3zEqdotRZr7eUcqel-xnQcWH8z-PUFRuWQfLp3F_E,3195
|
|
19
|
+
starbash/recipes/osc_single_duo/starbash.toml,sha256=kB-FMek0Z-8vieUfxKqmZMFNnZsSKdufSkLSgH03CkY,2117
|
|
20
|
+
starbash/recipes/starbash.toml,sha256=iZs0nLGY1kox0wa5ZzX9t2xTffy4Jbu_Q221Egnsml8,1019
|
|
21
|
+
starbash/repo/__init__.py,sha256=TqspuLjPSNnO38tvCGa0fJvvasgecHl6fE7m0-Lj8ho,148
|
|
22
|
+
starbash/repo/manager.py,sha256=m5hae0-KlIatcLo_4oi6h10VygK3kcEZWqik3Fcvh84,13056
|
|
23
|
+
starbash/selection.py,sha256=DPzUlls3n-sBqkwTUns2ZNaPi61PGnh7Z_ZQOC1jXYc,8347
|
|
24
|
+
starbash/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
25
|
+
starbash/templates/userconfig.toml,sha256=LCV69jAxLrIPXrkt6U-gU4KLKeb9MHCD1ownqG211Ns,1442
|
|
26
|
+
starbash/tool.py,sha256=S1kOTbeHTrA0meqwftgL0SA4VhJdZWWx2h1Wtwu1Izg,8749
|
|
27
|
+
starbash/url.py,sha256=lorxQJ27jSfzsKCb0QvpcvLiPZG55Dkd_c1JPFbni4I,402
|
|
28
|
+
starbash-0.1.4.dist-info/METADATA,sha256=vglWyrMb-N0xbCnG0IXloKJi5TWkRUHxfjiPSUwTdAc,6156
|
|
29
|
+
starbash-0.1.4.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
30
|
+
starbash-0.1.4.dist-info/entry_points.txt,sha256=REQyWs8e5TJsNK7JVVWowKVoytMmKlUwuFHLTmSX4hc,67
|
|
31
|
+
starbash-0.1.4.dist-info/licenses/LICENSE,sha256=ixuiBLtpoK3iv89l7ylKkg9rs2GzF9ukPH7ynZYzK5s,35148
|
|
32
|
+
starbash-0.1.4.dist-info/RECORD,,
|
starbash/commands/selection.py
DELETED
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
"""Selection commands for filtering sessions and targets."""
|
|
2
|
-
|
|
3
|
-
import typer
|
|
4
|
-
from typing_extensions import Annotated
|
|
5
|
-
from rich.table import Table
|
|
6
|
-
|
|
7
|
-
from starbash.app import Starbash
|
|
8
|
-
from starbash import console
|
|
9
|
-
|
|
10
|
-
app = typer.Typer()
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
@app.command(name="any")
|
|
14
|
-
def clear():
|
|
15
|
-
"""Remove any filters on sessions, etc... (select everything)."""
|
|
16
|
-
with Starbash("selection-clear") as sb:
|
|
17
|
-
sb.selection.clear()
|
|
18
|
-
console.print("[green]Selection cleared - now selecting all sessions[/green]")
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
@app.command()
|
|
22
|
-
def target(
|
|
23
|
-
target_name: Annotated[
|
|
24
|
-
str,
|
|
25
|
-
typer.Argument(
|
|
26
|
-
help="Target name to add to the selection (e.g., 'M31', 'NGC 7000')"
|
|
27
|
-
),
|
|
28
|
-
],
|
|
29
|
-
):
|
|
30
|
-
"""Limit the current selection to only the named target."""
|
|
31
|
-
with Starbash("selection-target") as sb:
|
|
32
|
-
# For now, replace existing targets with this one
|
|
33
|
-
# In the future, we could support adding multiple targets
|
|
34
|
-
sb.selection.clear()
|
|
35
|
-
sb.selection.add_target(target_name)
|
|
36
|
-
console.print(f"[green]Selection limited to target: {target_name}[/green]")
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
@app.command()
|
|
40
|
-
def date(
|
|
41
|
-
operation: Annotated[
|
|
42
|
-
str,
|
|
43
|
-
typer.Argument(help="Date operation: 'after', 'before', or 'between'"),
|
|
44
|
-
],
|
|
45
|
-
date_value: Annotated[
|
|
46
|
-
str,
|
|
47
|
-
typer.Argument(
|
|
48
|
-
help="Date in ISO format (YYYY-MM-DD) or two dates separated by space for 'between'"
|
|
49
|
-
),
|
|
50
|
-
],
|
|
51
|
-
end_date: Annotated[
|
|
52
|
-
str | None,
|
|
53
|
-
typer.Argument(help="End date for 'between' operation (YYYY-MM-DD)"),
|
|
54
|
-
] = None,
|
|
55
|
-
):
|
|
56
|
-
"""Limit to sessions in the specified date range.
|
|
57
|
-
|
|
58
|
-
Examples:
|
|
59
|
-
starbash selection date after 2023-10-01
|
|
60
|
-
starbash selection date before 2023-12-31
|
|
61
|
-
starbash selection date between 2023-10-01 2023-12-31
|
|
62
|
-
"""
|
|
63
|
-
with Starbash("selection-date") as sb:
|
|
64
|
-
operation = operation.lower()
|
|
65
|
-
|
|
66
|
-
if operation == "after":
|
|
67
|
-
sb.selection.set_date_range(start=date_value, end=None)
|
|
68
|
-
console.print(
|
|
69
|
-
f"[green]Selection limited to sessions after {date_value}[/green]"
|
|
70
|
-
)
|
|
71
|
-
elif operation == "before":
|
|
72
|
-
sb.selection.set_date_range(start=None, end=date_value)
|
|
73
|
-
console.print(
|
|
74
|
-
f"[green]Selection limited to sessions before {date_value}[/green]"
|
|
75
|
-
)
|
|
76
|
-
elif operation == "between":
|
|
77
|
-
if not end_date:
|
|
78
|
-
console.print(
|
|
79
|
-
"[red]Error: 'between' operation requires two dates[/red]"
|
|
80
|
-
)
|
|
81
|
-
raise typer.Exit(1)
|
|
82
|
-
sb.selection.set_date_range(start=date_value, end=end_date)
|
|
83
|
-
console.print(
|
|
84
|
-
f"[green]Selection limited to sessions between {date_value} and {end_date}[/green]"
|
|
85
|
-
)
|
|
86
|
-
else:
|
|
87
|
-
console.print(
|
|
88
|
-
f"[red]Error: Unknown operation '{operation}'. Use 'after', 'before', or 'between'[/red]"
|
|
89
|
-
)
|
|
90
|
-
raise typer.Exit(1)
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
@app.callback(invoke_without_command=True)
|
|
94
|
-
def show_selection(ctx: typer.Context):
|
|
95
|
-
"""List information about the current selection.
|
|
96
|
-
|
|
97
|
-
This is the default command when no subcommand is specified.
|
|
98
|
-
"""
|
|
99
|
-
if ctx.invoked_subcommand is None:
|
|
100
|
-
with Starbash("selection-show") as sb:
|
|
101
|
-
summary = sb.selection.summary()
|
|
102
|
-
|
|
103
|
-
if summary["status"] == "all":
|
|
104
|
-
console.print(f"[yellow]{summary['message']}[/yellow]")
|
|
105
|
-
else:
|
|
106
|
-
table = Table(title="Current Selection")
|
|
107
|
-
table.add_column("Criteria", style="cyan")
|
|
108
|
-
table.add_column("Value", style="green")
|
|
109
|
-
|
|
110
|
-
for criterion in summary["criteria"]:
|
|
111
|
-
parts = criterion.split(": ", 1)
|
|
112
|
-
if len(parts) == 2:
|
|
113
|
-
table.add_row(parts[0], parts[1])
|
|
114
|
-
else:
|
|
115
|
-
table.add_row(criterion, "")
|
|
116
|
-
|
|
117
|
-
console.print(table)
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: starbash
|
|
3
|
-
Version: 0.1.1
|
|
4
|
-
Summary:
|
|
5
|
-
License-File: LICENSE
|
|
6
|
-
Author: Kevin Hester
|
|
7
|
-
Author-email: kevinh@geeksville.com
|
|
8
|
-
Requires-Python: >=3.12,<3.15
|
|
9
|
-
Classifier: Programming Language :: Python :: 3
|
|
10
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
11
|
-
Classifier: Programming Language :: Python :: 3.13
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.14
|
|
13
|
-
Requires-Dist: astropy (>=7.1.1,<8.0.0)
|
|
14
|
-
Requires-Dist: multidict (>=6.7.0,<7.0.0)
|
|
15
|
-
Requires-Dist: platformdirs (>=4.5.0,<5.0.0)
|
|
16
|
-
Requires-Dist: restrictedpython (>=8.1,<9.0)
|
|
17
|
-
Requires-Dist: rich (>=14.2.0,<15.0.0)
|
|
18
|
-
Requires-Dist: sentry-sdk (>=2.42.1,<3.0.0)
|
|
19
|
-
Requires-Dist: tomlkit (>=0.13.3,<0.14.0)
|
|
20
|
-
Requires-Dist: typer (>=0.20.0,<0.21.0)
|
|
21
|
-
Description-Content-Type: text/markdown
|
|
22
|
-
|
|
23
|
-
# Starbash
|
|
24
|
-
|
|
25
|
-

|
|
26
|
-

|
|
27
|
-
|
|
28
|
-

|
|
29
|
-
|
|
30
|
-
A tool for automating/standardizing/sharing astrophotography workflows.
|
|
31
|
-
|
|
32
|
-
# Current status
|
|
33
|
-
|
|
34
|
-
Not quite ready 😊. But making good progress.
|
|
35
|
-
|
|
36
|
-
See my personal [TODO](TODO.md) file. I'll be looking for pre-alpha testers/feedback soon.
|
|
37
|
-
|
|
38
|
-
## features
|
|
39
|
-
|
|
40
|
-
* Automatically recognizes and auto-parses the default NINA, Asiair and Seestar raw file repo layouts (adding support for other layouts is easy)
|
|
41
|
-
* Automatically performs preprocessing on OSC (broadband, narrowband or dual Duo filter), Mono (LRGB, SHO) data
|
|
42
|
-
* Multisession support by default (including auto selection of correct flats, biases and dark frames)
|
|
43
|
-
* Generates a per target report/config file which can be customized if the detected defaults are not what you want
|
|
44
|
-
* 'Recipes' provide repeatable/human-readable/sharable descriptions of all processing steps
|
|
45
|
-
* 'Repos' can contain raw files, generated masters, preprocessed files, or recipes.
|
|
46
|
-
* Repos can be on the local disk or shared via HTTPS/github/etc. This is particularly useful for recipe repos
|
|
47
|
-
|
|
48
|
-
## Supported commands
|
|
49
|
-
|
|
50
|
-
* setup - configure for you via a brief guided process
|
|
51
|
-
* info - show user preferences location and other app info
|
|
52
|
-
|
|
53
|
-
* repo add file/path|URL
|
|
54
|
-
* repo remove REPONAME|REPONUM
|
|
55
|
-
* repo list
|
|
56
|
-
* repo reindex REPONAME|REPONUM|all
|
|
57
|
-
|
|
58
|
-
* user analytics on|off - turn analytics collection on/off
|
|
59
|
-
* user name "Your Name" - used for attribution in generated images
|
|
60
|
-
* user email "foo@blah.com" - used for attribution in generated images
|
|
61
|
-
|
|
62
|
-
* selection any - remove any filters on sessions, etc...
|
|
63
|
-
* selection target TARGETNAME - limit the current selection to only the named targets
|
|
64
|
-
* selection date op DATE - limit to sessions in the specified date range
|
|
65
|
-
* selection - list information about the current selection
|
|
66
|
-
|
|
67
|
-
* target - list targets (filtered based on the current selection)
|
|
68
|
-
|
|
69
|
-
* session- list sessions (filtered based on the current selection)
|
|
70
|
-
|
|
71
|
-
* instrument - list instruments (filtered based on the current selection)
|
|
72
|
-
|
|
73
|
-
* filter - list all filters found in current selection
|
|
74
|
-
|
|
75
|
-
* export dirs|BIAS|LIGHT|DARK|FLAT [DIRLOC]
|
|
76
|
-
|
|
77
|
-
* process auto
|
|
78
|
-
* process masters - generate master flats, darks, biases from any raws that are available
|
|
79
|
-
|
|
80
|
-
## Supported tools
|
|
81
|
-
|
|
82
|
-
* Siril
|
|
83
|
-
* Graxpert
|
|
84
|
-
|
|
85
|
-
# Future status
|
|
86
|
-
|
|
87
|
-
## Supported tools
|
|
88
|
-
|
|
89
|
-
* Pixinsight?
|
|
90
|
-
* Autostakkert?
|
|
91
|
-
|
|
92
|
-
## Features
|
|
93
|
-
|
|
94
|
-
* The target report can be used to auto generate a human friendly 'postable/sharable' report about that image
|
|
95
|
-
* Target reports are sharable so that you can request comments by others and others can rerender with different settings
|
|
96
|
-
|
starbash-0.1.1.dist-info/RECORD
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
starbash/__init__.py,sha256=co39eIssQlFxWfO3cDhp52reRy6qEyJX5u5K8OsxiDk,138
|
|
2
|
-
starbash/analytics.py,sha256=0TfiZthKRMqW38Jg1VJDjpykZXBrK33tNKuhQibkCK0,3579
|
|
3
|
-
starbash/app.py,sha256=sYEgemSDZEX7yih2p_aFlrsCypWjx2zNDsNHJ_DNF0E,13319
|
|
4
|
-
starbash/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
starbash/commands/repo.py,sha256=WuOg15p9LnJ6aIWIXYCKY9guRIUCq3XapyO7oi1v3hQ,1874
|
|
6
|
-
starbash/commands/selection.py,sha256=4bpjYWne9ekg1EIOJS15Ymj2Hyr-jc2Te4N4mXepkpI,3941
|
|
7
|
-
starbash/commands/user.py,sha256=JpwYa9cYxm2gkekcxrj7CsbJO7fgbGwRxmjvpua0BOY,1598
|
|
8
|
-
starbash/database.py,sha256=jQyuZ-sFwbAIv6Wtn4VnPVQChQMP4y1rVjrEgp2iLoA,13513
|
|
9
|
-
starbash/defaults/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
starbash/defaults/starbash.toml,sha256=RVfYikW5xhpZUt83U5k7O2hprswgFvDFykCWkHL37QU,2384
|
|
11
|
-
starbash/main.py,sha256=7N28XCu43IUijIaTrT9ZY_aWxEmJGDdTLWdfhw_omOc,5084
|
|
12
|
-
starbash/paths.py,sha256=BKKnSXt3tOh16o7ljDcQLtWKIiepEmud9JFtzRwDHtg,1317
|
|
13
|
-
starbash/repo/__init__.py,sha256=TqspuLjPSNnO38tvCGa0fJvvasgecHl6fE7m0-Lj8ho,148
|
|
14
|
-
starbash/repo/manager.py,sha256=XBiZXMgVKd7faddwugtWVbeR8XuJF8sZi8yAiDxT6wM,10701
|
|
15
|
-
starbash/selection.py,sha256=4u4h30VeC_e8PWFdtNWA9C7AyYrcAgg3BEagSynaxMM,7111
|
|
16
|
-
starbash/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
starbash/templates/userconfig.toml,sha256=NinuXl8L0xxSvI4FFZD8ye836yv8TaUP0a5VMEc-w1w,757
|
|
18
|
-
starbash/tool.py,sha256=S1kOTbeHTrA0meqwftgL0SA4VhJdZWWx2h1Wtwu1Izg,8749
|
|
19
|
-
starbash/url.py,sha256=lorxQJ27jSfzsKCb0QvpcvLiPZG55Dkd_c1JPFbni4I,402
|
|
20
|
-
starbash-0.1.1.dist-info/METADATA,sha256=EjekS6hjvRkPf-Ka0ZUa0_XhRp50YwABIjOBlStvyH4,3539
|
|
21
|
-
starbash-0.1.1.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
|
|
22
|
-
starbash-0.1.1.dist-info/entry_points.txt,sha256=REQyWs8e5TJsNK7JVVWowKVoytMmKlUwuFHLTmSX4hc,67
|
|
23
|
-
starbash-0.1.1.dist-info/licenses/LICENSE,sha256=ixuiBLtpoK3iv89l7ylKkg9rs2GzF9ukPH7ynZYzK5s,35148
|
|
24
|
-
starbash-0.1.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|