Skip to content

Commit 2119efe

Browse files
Merge pull request #317 from AndreWohnsland/dev
Adjust manual install for uv
2 parents 14f086b + b9a16f1 commit 2119efe

31 files changed

+108
-103
lines changed

.git-blame-ignore-revs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# apply alphabetic, explicit import sorting
2+
9b553ce9f06f5fcd9584df7d17248bd9351a1b9b

.vscode/settings.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@
2323
"[python]": {
2424
"editor.defaultFormatter": "charliermarsh.ruff"
2525
},
26+
"editor.codeActionsOnSave": {
27+
"source.organizeImports": "explicit"
28+
},
2629
"python.analysis.autoImportCompletions": true,
2730
"python.testing.pytestArgs": ["tests"],
2831
"python.testing.unittestEnabled": false,

readme.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@ In addition, there is the possibility to use and set up a second device as a das
6868

6969
# Quickstart
7070

71-
Here are some simple steps to get CocktailBerry running. You need to have **Python 3.9** or newer and **git** installed.
71+
Here are some simple steps to get CocktailBerry running. You need to have **Python 3.11** or newer and **git** installed.
7272

7373
On the RPi, you can try the new [all in one installer script](https://github.com/AndreWohnsland/CocktailBerry/blob/master/scripts/all_in_one.sh).
7474
One command should install everything:
@@ -77,15 +77,15 @@ One command should install everything:
7777
wget -O - https://raw.githubusercontent.com/AndreWohnsland/CocktailBerry/master/scripts/all_in_one.sh | bash
7878
```
7979

80-
Otherwise, run:
80+
Otherwise, you can manually install it using [uv](https://docs.astral.sh/uv/getting-started/installation/):
8181

8282
```bash
8383
cd ~
8484
git clone https://github.com/AndreWohnsland/CocktailBerry.git
8585
cd CocktailBerry
86-
pip install -r requirements.txt
87-
# you can get help with python runme.py --help
88-
python runme.py
86+
uv venv --system-site-packages
87+
uv sync --all-extras
88+
uv run runme.py
8989
```
9090

9191
This will start the CocktailBerry program. You may want to run the provided installer script for the RPi instead of pip.

web_client/src/App.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,27 @@
1+
import { useEffect } from 'react';
12
import Modal from 'react-modal';
23
import { Navigate, Route, Routes, useNavigate } from 'react-router-dom';
34
import { ToastContainer } from 'react-toastify';
5+
import { useIssues } from './api/options.ts';
46
import AvailableBottles from './components/bottle/AvailableBottles.tsx';
57
import BottleList from './components/bottle/BottleList.tsx';
68
import CocktailList from './components/cocktail/CocktailList.tsx';
79
import GettingConfiguration from './components/common/GettingConfiguration.tsx';
810
import { MakerPasswordProtected, MasterPasswordProtected } from './components/common/ProtectedRoute.tsx';
911
import Header from './components/Header.tsx';
1012
import IngredientList from './components/ingredient/IngredientList.tsx';
13+
import IssuePage from './components/IssuePage.tsx';
1114
import AddonManager from './components/options/AddonManager.tsx';
1215
import CalibrationWindow from './components/options/CalibrationWindow.tsx';
1316
import ConfigWindow from './components/options/ConfigWindow.tsx';
1417
import DataWindow from './components/options/DataWindow.tsx';
1518
import LogWindow from './components/options/LogWindow.tsx';
1619
import OptionWindow from './components/options/OptionWindow.tsx';
20+
import TimeManager from './components/options/TimeManager.tsx';
1721
import WifiManager from './components/options/WifiManager.tsx';
1822
import RecipeList from './components/recipe/RecipeList.tsx';
1923
import { useConfig } from './ConfigProvider.tsx';
2024
import useAxiosInterceptors from './hooks/useAxiosInterceptors.ts';
21-
import { useIssues } from './api/options.ts';
22-
import { useEffect } from 'react';
23-
import IssuePage from './components/IssuePage.tsx';
24-
import TimeManager from './components/options/TimeManager.tsx';
2525
import { hastNotIgnoredStartupIssues } from './utils.tsx';
2626

2727
Modal.setAppElement('#root');

web_client/src/AuthProvider.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { createContext, useState, useContext, useEffect, useMemo } from 'react';
1+
import React, { createContext, useContext, useEffect, useMemo, useState } from 'react';
22
import { useLocation } from 'react-router-dom';
33
import { useConfig } from './ConfigProvider';
44

web_client/src/ConfigProvider.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import React, { createContext, useState, useEffect, useContext, useMemo } from 'react';
1+
import React, { createContext, useContext, useEffect, useMemo, useState } from 'react';
2+
import { useTranslation } from 'react-i18next';
23
import { getConfigValues } from './api/options';
34
import { DefinedConfigData } from './types/models';
4-
import { useTranslation } from 'react-i18next';
55

66
interface IConfig {
77
config: DefinedConfigData;

web_client/src/CustomColorProvider.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import React, { createContext, useState, useEffect, useContext, useMemo } from 'react';
2-
import { CustomColors } from './types/models';
1+
import React, { createContext, useContext, useEffect, useMemo, useState } from 'react';
32
import { useConfig } from './ConfigProvider';
3+
import { CustomColors } from './types/models';
44

55
interface ICustomColor {
66
customColors: CustomColors;

web_client/src/api/bottles.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
import { Bottle } from '../types/models';
21
import { useQuery, UseQueryResult } from 'react-query';
2+
import { Bottle } from '../types/models';
33
import { axiosInstance } from './common';
44

55
const bottle_url = '/bottles';

web_client/src/api/options.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
import { useQuery, UseQueryResult } from 'react-query';
2-
import { axiosInstance } from './common';
32
import {
4-
ConsumeData,
5-
LogData,
3+
AddonData,
64
ConfigData,
75
ConfigDataWithUiInfo,
8-
AddonData,
9-
WifiData,
6+
ConsumeData,
107
DefinedConfigData,
118
IssueData,
9+
LogData,
10+
WifiData,
1211
} from '../types/models';
12+
import { axiosInstance } from './common';
1313

1414
const options_url = '/options';
1515

web_client/src/components/bottle/AvailableBottles.tsx

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
import React, { useEffect, useState } from 'react';
2-
import { postAvailableIngredients, useAvailableIngredients, useIngredients } from '../../api/ingredients';
3-
import { Ingredient } from '../../types/models';
4-
import ListView from './ListView';
2+
import { useTranslation } from 'react-i18next';
3+
import { FaMinusCircle, FaPlusCircle } from 'react-icons/fa';
54
import { useNavigate } from 'react-router-dom';
6-
import { FaPlusCircle, FaMinusCircle } from 'react-icons/fa';
75
import { toast } from 'react-toastify';
6+
import { postAvailableIngredients, useAvailableIngredients, useIngredients } from '../../api/ingredients';
7+
import { Ingredient } from '../../types/models';
88
import ErrorComponent from '../common/ErrorComponent';
99
import LoadingData from '../common/LoadingData';
10-
import { useTranslation } from 'react-i18next';
10+
import ListView from './ListView';
1111

1212
const AvailableBottles: React.FC = () => {
1313
const { data: ingredients, error: ingredientsError, isLoading: ingredientsLoading } = useIngredients();

0 commit comments

Comments
 (0)