Budżet: 500 UAH Termin: 1 dzień
Gotowy do uruchomienia na wybranej przez Ciebie maszynie wirtualnej.
Jeśli jeszcze nie wybrałeś, mogę polecić najlepszą opcję lub zaproponować pracę na moim serwerze z moim wsparciem technicznym. Mam wiele projektów dla klientów.
Budżet: 500 UAH Termin: 2 dni
Dzień dobry, Dmitrij.
Mogę teraz to wdrożyć na AWS.
Będzie to działać na EC2.
Jeśli Twój skrypt działa szybko, to można wtedy zamiast EC2 użyć
AWS lambda.
Jak to działa? Zawsze czy uruchamia się na jakieś zdarzenia (triggery)?
Budżet: 500 UAH Termin: 4 dni
Należy sprawdzić projekt, co tam jest. Czy jest docker?
Gdzie ma być wdrożony już wybrano?
Budżet: 500 UAH Termin: 1 dzień
Dzień dobry, nazywam się Bogdan i chciałbym pracować nad projektem. Prześlij mi kod i dane vps, skonfiguruję wszystko w dockerze dla wygodnego użytkowania 🤝
Aktualnie brak ofert
Aktualne zlecenia dla freelancerów w kategorii Python
Opracowanie automatyzacji dla Google Sheets + cotygodniowe raportowanie w TelegramieTyp projektu: Automatyzacja arkuszy, parsowanie danych, skrypty Google Apps Script / alternatywy. Opis projektuPosiadam arkusz EXCEL (około 45 zakładek, kilka prostych formuł, dane historyczne). Arkusz działa bardzo wolno w trybie online, dlatego muszę pracować offline. Należy: Automatyzować cotygodniowe dodawanie danych z określonej strony. Rozwiązać problem wydajności. Skonfigurować automatyczną agregację danych i cotygodniowe wysyłanie raportów do Telegramu.Etap 1. Rozwiązanie problemu wydajności + automatyzacja ładowania danychZadania: Przeanalizować obecny arkusz Google (szablon zostanie dostarczony) i zaproponować optymalne rozwiązanie problemu z lagowaniem (duża liczba zakładek i wierszy). Możliwe opcje rozwiązań (wybrać i uzasadnić najlepsze): Optymalizacja wewnątrz Google Sheets (podział arkuszy, wykorzystanie pamięci podręcznej, IMPORTRANGE z inteligentnym podejściem, Google Apps Script). Alternatywa: migracja do Airtable / Notion / Make.com + Power Automate / Python + Google Sheets API. Rozwiązanie hybrydowe (główna praca offline + synchronizacja). Wdrożyć automatyczne cotygodniowe parsowanie/import danych z określonej strony do odpowiednich zakładek arkusza. Skonfigurować harmonogram (najlepiej automatyczny, bez ręcznego uruchamiania).Oczekiwany wynik etapu: Funkcjonujący arkusz (lub system arkuszy), który nie laguje podczas pracy. Automatyczne dodawanie nowych danych co tydzień.Etap 2. Agregacja danych i wysyłanie raportów do TelegramuZadania: Skonfigurować zbieranie danych z określonych komórek/zakładek. Stworzyć tabelę przestawną z danymi historycznymi i proporcjami (dynamika, % zmiany itd.). Zorganizować automatyczną cotygodniową generację raportu. Skonfigurować wysyłanie gotowego raportu (arkusz + kluczowe wskaźniki) do bota Telegram lub konkretnego czatu/kanalu/grupy.Oczekiwany wynik etapu: Automatyczna cotygodniowa wysyłka raportu do Telegramu. Czysty, zrozumiały format raportu.Wymagania dla kandydata Doskonała znajomość Google Sheets + Google Apps Script. Doświadczenie w parsowaniu stron internetowych. Doświadczenie w optymalizacji dużych arkuszy. Znajomość Telegram Bot API — obowiązkowa.Szczegóły realizacji, dokładne wymagania dotyczące danych, terminy i koszty — omawiamy w wiadomościach prywatnych.
Krótko Potrzebny program w Pythonie, który uruchamia się na moim PC (Windows) i tworzy faceless-wideo w formacie „głos lektora + zmieniający się materiał wideo z zdjęć i klipów” — jak dokumenty historyczne na YouTube (przykład dołączę osobno). Wprowadzam temat → program pisze scenariusz, lekturuje, dobiera do każdego fragmentu tekstu wideo/zdjęcia z darmowych archiwów, montuje → wydaje gotowy MP4. Tylko dla mnie. Bez strony, bez użytkowników, bez sprzedaży. Jeden użytkownik — ja. Jak działa (krok po kroku) 1. Wprowadzenie. Otwiera się proste okno. Wprowadzam temat filmu i wybieram głos lektora z listy (**lista głosów pobierana automatycznie z ElevenLabs przez API** — dostępne na moim koncie). Klikam „Utwórz”. (Drugi tryb: wklejenie gotowego scenariusza zamiast generacji.) 2. Scenariusz. Program przez LLM API (OpenAI/Anthropic, klucz w ustawieniach) pisze scenariusz na zadany temat o określonej długości. 3. Podział na sceny. LLM dzieli scenariusz na sceny i dla każdej zwraca: tekst sceny; typ wizualizacji: wideo lub zdjęcie; zapytanie wyszukiwania (rozwinięta fraza, co powinno być w kadrze); oznaczenie „highlight” + ocenę ważności 1-10 (dla intro, patrz poniżej). 4. Lektura. Tekst wysyłany jest do ElevenLabs API wybranym głosem → audio. Pod długość audio każdej sceny przycinany jest materiał wideo. 5. Dobór wideo/zdjęć — z darmowych źródeł przez API (patrz lista poniżej). Dla każdego źródła zapytanie formułowane jest na swój sposób (dla dokładności). Jeśli w jednym nie znaleziono — próbuje następnego. 6. Weryfikacja (maksymalnie 3 kroki na scenę). Krok 1: program bierze pierwszy znaleziony wariant (wideo/zdjęcie) według zapytania. Krok 2: wysyła kadr do LLM — „czy pasuje do sceny?”. Pasuje → stop. Krok 3 (jeśli nie pasuje): program przełącza się na wyszukiwanie zdjęć (po dokładnym zapytaniu zdjęcia znaleźć łatwiej niż wideo, — tak gwarantujemy trafność w sensie) i bierze je z wzmocnionym ruchem (zoom + panorama). Nie robić więcej niż 3 kroki na jedną scenę — to oszczędza budżet LLM i gwarantuje, że kadr jest w temacie. 7. Montaż przez ffmpeg/moviepy: klipy i zdjęcia pod timing lektury, zdjęcia ożywiane zoomem (efekt Kena Burnsa), głos na wierzchu, proste przejścia. Wyjście: MP4 1920×1080. Reguły materiału wideo (ważne — za to odpowiada program) Pierwsze 60 sekund — intro-teaser: montaż najbardziej efektownych klipów z całego filmu (brane są sceny z najwyższą oceną ważności, gdzie jest wideo) pod osobny tekst-wprowadzenie od LLM („w tym filmie dowiesz się…”), kadry bez wyjaśnień, jak intryga. Potem przejście i główna część. Naprzemienność: wstawka wideo minimum co ~6 sekund, nie można mieć wielu zdjęć pod rząd. Udział wideo: nie mniej niż ~40% czasu — żywe klipy, reszta — zdjęcia z zoomem. Długość kadru: 4-6 sekund (i zdjęcia, i wideo). Nie migać, nie trzymać statyki długo. Dla czysto historycznych tematów, gdzie nie ma wideo — zdjęcia z wzmocnionym ruchem (zoom + panorama). Źródła (wszystkie darmowe, z API) Nowoczesne wideo+zdjęcia: Pexels, Pixabay. Historyczne / archiwalne (public domain): Wikimedia Commons, Archive.org,Biblioteka Kongresu, Europeana, NASA, Smithsonian Open Access,Flickr Commons, openverse. Każde źródło — oddzielny moduł, łatwo dodać nowe. Używać tylko public domain / wolnych licencji z prawem do komercyjnego wykorzystania. Żadnego parsowania cudzych YouTube/stron, fragmentów filmów, obrazków „z googla”.Unikalność doboru Aby wideo nie pokrywały się z cudzymi: brać losowy klip z top-wyników (nie pierwszy), prowadzić bazę już użytych (nie powtarzać), opcjonalnie — lekka obróbka klipu (crop/lustro/szybkość). Opcje (włącz/wyłącz w ustawieniach) Tylko zdjęcia — jeśli włączone, wideo zbierane jest CZYSTO z zdjęć, bez klipów wideo. Każde zdjęcie OBOWIĄZKOWO z ruchem (zoom i/lub panorama, efekt Kena Burnsa) — nawet w tym trybie nie powinno być statycznych „martwych” kadrów, minimalna dynamika zawsze. Jeśli wyłączone — standardowy tryb (zdjęcia + klipy wideo z naprzemiennością, jak w regułach materiału wideo). Bez lektury — jeśli włączone, wideo zbierane jest według tekstu BEZ generacji głosu: kod NIE zwraca się do ElevenLabs i nie nakłada lektury (materiał wideo dobierany jest według tekstu scen, timing kadrów — według reguł/parametrów, bez powiązania z audio). Jeśli wyłączone — automatycznie robi lektury według tekstu przez ElevenLabs, jak zwykle. Atmosferyczny overlay — jeśli włączone, na całym materiale wideo nakładany jest półprzezroczysty layer z unoszącymi się cząstkami / pyłem / świecącym bokeh / lekką mgłą (particle / dust / bokeh / fog overlay, tryb nakładania screen/add), aby kadry wyglądały na żywe i filmowe. Przy instalacji programu umieszczany jest zestaw z 5-8 popularnych overlayów (cząstki, pył,copybokeh, mgła, lekkie filmowe „ziarnko”) w lokalnym folderze — wybieram potrzebny z listy. Regulowana przezroczystość/jasność overlayu (suwak 0-100%), aby efekt nie był anicopyzbyt przyciemniony, ani zbyt wyraźny — sam dostosowuję siłę. Pożądane, aby overlay można było nakładać i na JUŻ gotowe wideo osobnocopy(postprodukcja: wziąć gotowy MP4 → wybrać overlay → ustawić przezroczystość → zapisać), a nie tylko przy montażu. Skąd wziąć overlaye do kompletu (wolna licencja): Pexels, Pixabay (zapytaniacopy„particle overlay”, „bokeh overlay”, „dust overlay”, „light leaks”, „film grain”), Mixkit, Videezy. Wykonawca dobiera 5-8 sztuk i umieszcza w folderze programu. Napisy (wbudowane lub osobnym .srt). Obróbka klipów dla unikalności. Rozdzielczość/format, długość wideo, udział wideo, głębokość wyszukiwania.Wymagania techniczne Python. Modułowa struktura (źródła i LLM — przez wymienne moduły, aby łatwo zamienić lub dodać). Wszystkie klucze API — w pliku ustawień, nie w kodzie. Proste okno (GUI do wyboru wykonawcy — Tkinter/PyQt), uruchamiane podwójnym kliknięciem. README z instrukcją, zrozumiałe logi, komentarze w kodzie.Co daję ja Klucze API (ElevenLabs, LLM, gdzie potrzebna rejestracja — załatwię). Płatne opłacam sam. Przykłady wideo-referencji (dołączę) i przykłady tematów do testów.Odbiór (gotowe, jeśli) Uruchamiam → okno → wprowadzam temat, wybieram głos → „Utwórz” → otrzymuję gotowy MP4. Materiał wideo zgodny z sensownym tekstem, naprzemienność wideo/zdjęć, intro-teaser 60 sek, lektura na wierzchu. Działa minimum z 6 darmowymi źródłami, z fallbackiem między nimi. Weryfikacja kadrów przez LLM: maks. 3 kroki na scenę (znaleziono → LLM sprawdził → jeśli nie, zdjęcie z ruchem jako pewniak). Unikalność: randomizacja + baza używanego. Tylko legalne źródła. Jest README, uruchamia się od zera.Przekazanie wyniku Cały kod źródłowy — w otwartej formie (wszystkie pliki), bez obfuskacji + zbudowana wersja robocza. Mogę sam uruchomić z źródeł według instrukcji (README: instalacja, klucze, uruchomienie). Kod musi być czysty, skomentowany i zrozumiały, aby **każdy inny programista mógł kontynuować pracę** nad nim, jeśli zajdzie taka potrzeba (bez powiązania z autorem). **Cała codzienna praca — przez interfejs (przyciski, pola, suwaki, rozwijane listy), BEZ potrzeby dotykania kodu.** Wszystkie ustawienia (temat, głos, opcje, overlay, foldery, długość, formaty) zmieniają się w oknie programu, a nie edytowaniem plików. Kod w rękach — tylko jako moja własność i zabezpieczenie, a nie jako sposób zarządzania programem. Wszystkie prawa do kodu po zapłacie — moje.Zarządzanie miejscem na dysku (ważne) Program nie powinien zapełniać dysku. Zrealizować: Po zmontowaniu wideo wszystkie pliki pośrednie (pobrane klipy, tymczasowe fragmenty, audio-clipy) automatycznie usuwane — na dysku pozostaje tylko gotowy MP4. Limit na cache (parametr w ustawieniach, np. 5 GB): przy przekroczeniu stare pobrane pliki usuwane są automatycznie (najpierw najstarsze). Folder dla gotowych wideo i dla plików tymczasowych ustalam w ustawieniach. Pokazywać, ile miejsca zajęte, i przycisk „wyczyść cache” ręcznie.Proszę wskazać w odpowiedzi Przykłady podobnych prac (ffmpeg/moviepy, praca ze stockowymi/archiwalnymi API, ElevenLabs/LLM). Propozycja dotycząca GUI. Czy rozwiązanie wykorzystuje bazę danych (jaką i po co) — czy wystarczą lokalne pliki. Termin i koszt.
Real-Time Trener
Opracowujemy integrację w czasie rzeczywistym z zewnętrzną usługą Trener. Wysyłamy zorganizowane zrzuty stanu, otrzymujemy rekomendacje i pokazujemy je w wyskakującym oknie. Zadanie — stabilne i pełne przesyłanie danych dla prawidłowego działania Trenera. Szukamy programisty do łańcucha: przetwarzanie danych → komunikacja HTTP → nakładka. Potrzebni są ludzie z takimi umiejętnościami Python dobrze, Java podstawy, API HTTP/JSON-APIs Projekt gotowy w 90%, ale są pewne niezgodności
Wymagana jest разработка lokalnego skryptu Python do automatycznego wypełniania Google Arkuszy danymi z wewnętrznego serwisu firmy. Główna logika: 1. Połączyć się z Google Arkuszem. 2. Znaleźć wiersze, w których wypełniony jest ID, ale brakuje dwóch docelowych wartości. 3. Sformułować link według szablonu: https://internal-service.example/item/{ID} 4. Uzyskać dwie wartości (przez API, jeśli istnieje, w przeciwnym razie przez Playwright). 5. Zapisz wartości z powrotem do Google Arkusza. 6. Oznaczyć wiersz jako przetworzony. 7. Kontynuować przetwarzanie kolejnych wierszy. Wymagania: • Python • Google Sheets API • Priorytetowe użycie oficjalnego API • W przypadku braku API — Playwright • Bez OCR, rozpoznawania ekranu i współrzędnych myszy • Poufne dane nie powinny trafiać do logów • Konfiguracja przez .env • Tryb testowy (bez zapisu do arkusza) • Nie przetwarzać już wypełnionych wierszy • Zbiorowe zapisywanie zmian w Google Sheets • Poprawne przetwarzanie błędów i ponownych prób Wymagane do dostarczenia: - kod źródłowy; - requirements.txt; - przykład .env.example; - instrukcja instalacji; - instrukcja uruchamiania; - krótki opis architektury. Przed rozpoczęciem realizacji proszę: 1. Zaproponować architekturę. 2. Wymienić niezbędne dostępności. 3. Zadać pytania wyjaśniające. 4. Podać koszt, terminy i orientacyjną liczbę godzin.
W ramach podnoszenia poziomu cyberbezpieczeństwa naszej infrastruktury musimy zrezygnować z praktyki przechowywania „wiecznych” i statycznych kluczy API, haseł oraz tokenów integracji w plikach konfiguracyjnych (.env, appsettings.json, config.yaml) naszych mikroserwisów. Cel biznesowy: Stworzyć jednolity, zabezpieczony punkt przechowywania danych poufnych (sekretów) z mechanizmem ich automatycznego aktualizowania (rotacji) w systemach zewnętrznych według harmonogramu. Inne nasze usługi będą żądać aktualnych tokenów „na żywo” przez API, co zminimalizuje szkody w przypadku kompromitacji któregokolwiek z komponentów systemu.Model bezpieczeństwa i szyfrowanie (Crypto Core) W bazie danych żaden sekret nie powinien być przechowywany w postaci jawnej. Podczas uruchamiania aplikacji do zmiennych środowiskowych przekazywany jest Klucz główny (Master Key). Jeśli klucz jest nieobecny lub ma nieprawidłową długość, usługa powinna zakończyć działanie na etapie inicjalizacji z zrozumiałym błędem w logach. Każdy sekret jest szyfrowany przed zapisaniem w bazie danych z użyciem tego Klucza głównego. Przy żądaniu — jest deszyfrowany w pamięci i zwracany w treści odpowiedzi.Audyt-logowanie (Audit Trail) Każda akcja z sekretami (tworzenie, odczyt przez usługę, udana lub nieudana rotacja) powinna być zapisywana w oddzielnym pliku logów audit.log (lub w oddzielnej tabeli w bazie danych). Ścisły zakaz: W audyt-logu kategorycznie zabrania się zapisywania samych wartości sekretów (ani w postaci jawnej, ani w postaci zaszyfrowanej).