#Pictopy

1 messages · Page 6 of 1

tranquil gulch
#

@marsh idol Could you verify this ? feature what i proposed whether it can be a valuable add or not ?

young torrent
#

Hey @gaunt heath ! "Not planned" PRs didn't align with our direction. To stay on track:
Check good first issue or help wanted labels
Confirm with @marsh idol sir before starting any work

young torrent
#

I've just checked, it's a good feature idea: let users share albums via secure token links. Generate tokens with secrets module,
store in shared_links table with optional password + expiration. Add route to validate
tokens with rate limiting to prevent abuse.
Now, Rahul sir will confirm whether it's aligned or not

real silo
tranquil gulch
young torrent
#

Hey@marsh idol,

Sir Quick clarification about issue #725.

I had mentioned my intent to work on it when I opened the issue, but noticed a few PRs were opened before any assignment. Just wanted to confirm the usual workflow here — should contributors wait for assignment, or is it first-PR-wins?

https://github.com/AOSSIE-Org/PictoPy/issues/725#issuecomment-3649095342

GitHub

Describe the feature Issue Summary The folder management interface requires manual interaction with each folder's AI tagging toggle, making it tedious to manage multiple folders. Additionally, ...

crude prismBOT
#

@young torrent You are now level 4! :confetti_ball:

scarlet dragon
#

Hey , I am Vanshika Agrawal , I'm new to open source , and I've been exploring your projects.I'd love to contribute.

slender sapphire
#

Hi everyone, I'm Swastik, a second year Computer Science student from Delhi, India. My skills are Javascript, Typescript and Python. I've setup Pictopy locally. If there is any unassigned issue with which I can start contributing, please let me know. I'd be happy to contribute.

analog rapids
#

Hi, I am shivendra Prasad , a passinate CSE student from India, i am new to open source and love to contribute to you project Pictopy , i will try to add another aspect to this project. Thank you

wet lion
#

probably you don't have linker for rust so need to install Build Tools for Visual Studio 2022 bcz this provides you a linker

patent fulcrum
#

Is there any project mainly focused on a website?

wet lion
signal drum
#

Hi everyone 👋 I’m Gowri Shankar, new contributor here.
I’d like to work on BUG #705 related to metadata being returned as a JSON string.
https://github.com/AOSSIE-Org/PictoPy/issues/705
I plan to deserialize the metadata properly and add unit tests as suggested.
Please let me know if I can proceed or follow any preferred approach. Thanks!

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? The GET /face-clusters/{id}/images endpoint returns image metadata as a serialized JSON string rather than a ...

old yarrow
#

Hello Everyone

#

...

tranquil gulch
crude prismBOT
#

@tranquil gulch You are now level 5! :confetti_ball:

wet lion
tranquil gulch
#

I am talking about contributing stuff hard to standout ...

crude prismBOT
#

@warm glen You are now level 2! :confetti_ball:

warm glen
#

yes sir i have succesfully installed whole project and now i can run this project it's amazing i solved the problem

#

and now i will go to contribute like solving issues

warm glen
#

i want to open landing page can anyone help me how to start it?

young torrent
young torrent
indigo otter
#

Hi everyone 👋
I’m Vatsal, a 3rd-year bachelor’s student , Joining Swiggy as an AI/ML Intern and an active open-source contributor.

I’ve been going through projects under the AOSSIE group, and InPactAI, PictoPy, and BabyNest really stood out to me in terms of impact and alignment with my interests in AI/ML and applied systems. I’m planning to prepare early for GSoC 2026 and would love to start contributing meaningfully ahead of time.

If there are any maintainers or contributors here, I’d really appreciate guidance on:

  • beginner/intermediate level issues or areas to start with
  • recommended issues and features i can contribute to
young torrent
# indigo otter Hi everyone 👋 I’m Vatsal, a 3rd-year bachelor’s student , Joining Swiggy as an ...

Hey Vatsal! congrats on the Swiggy internship!
For getting started with InPactAI, PictoPy, and BabyNest, here's what I'd recommend:

Check out the repos' issue trackers for labels like good-first-issue or help-wanted
Go through the CONTRIBUTING.md/ Readme.md files to understand the workflow
Set up the projects locally and familiarize yourself with the codebase
Review recently merged PRs to see what kind of contributions are being accepted
For specific guidance: The maintainers usually hang out on the AOSSIE Discord/Slack—drop a message

young torrent
signal drum
old yarrow
#

Hello everyone!
I am Aaryan a FE CE(Computer Engineering) I am preparing for Gsoc and found PictoPy project very intruiging I would like to start contributing I have read contribution.md and setup all the necessary dependencies required for this project. I cannot personally ping the maintainers so I request maintainers to assign me issue
Thank You.

young torrent
#

Hey @frank quest since Rahul sir might be busy, it might be best to wait for their input first and then decide whether to open an issue.

#

hey @old yarrow Usually, issues aren’t directly assigned on request — it’s best to comment on an open issue you’d like to work on (especially a good-first-issue) and mention your approach. Maintainers can then take it forward when they review.

eternal venture
frank quest
cloud acorn
old yarrow
#

Hi @radiant mauve !
myself Aaryan (SnippyCodes on GitHub), I've expressed interest in working on Issue #640 (CORS restriction) on GitHub. I've shared my proposed fix there. Could you please check it and assign the task to me? Thanks!".

crude prismBOT
#

@old yarrow You are now level 2! :confetti_ball:

old yarrow
young torrent
#

Hey @marsh idol — PR #792 fixes the logging RecursionError crash. All checks pass & ready for review

eternal venture
#

@marsh idol Sir,
I have raised this issue: https://github.com/AOSSIE-Org/PictoPy/issues/795

The issue highlights that PictoPy currently does not have:
A direct image-level deletion workflow, and
any undo mechanism to restore images after accidental or destructive actions.

I wanted to confirm whether this problem aligns with the project’s priorities and whether it would be appropriate for me to start working on it.
I would really appreciate your feedback on the scope and relevance of this issue before proceeding further.

GitHub

Describe the feature Overview PictoPy currently lacks a direct image-level deletion workflow and provides no undo mechanism for destructive actions. This feature proposes a safe image deletion syst...

vagrant wraith
#

Hello everyone,

My name is Sonu Chowdhury, a third-year engineering student from Kolkata, India. I am exploring open-source projects for GSoC 2026 and came across the Pictopy project, which aligns well with my interests and technical skills. I am excited about the opportunity to contribute and look forward to collaborating with the community.

severe haven
#

Hello everyone 👋
I’m Anvesha Srivastava, a BCA 2nd-year student, and I’m aiming to prepare for GSoC 2026.
I’m particularly interested in contributing to PictoPy and understanding the project in depth.
I work primarily with Python and I’m actively improving my skills in DSA and open-source workflows.
I’d love to start with beginner-friendly issues and gradually take up more responsibility.
Looking forward to learning and contributing—thank you!

warm glen
#

I have solved two issues in this project.
Could someone please guide me on what I should do next?

severe haven
#

Hello maintainers,👋🏻

I’ve raised an issue related to UI layout and responsiveness on the PictoPy documentation homepage:
https://github.com/AOSSIE-Org/PictoPy/issues/796

The issue highlights some remaining concerns around content alignment, readability, and overall responsiveness that could improve the user and contributor experience.

I wanted to confirm whether this aligns with the project’s current priorities and whether it would be appropriate for me to start working on it.
I would really appreciate your feedback on the scope and relevance of this issue before proceeding further.

Thank you!

GitHub

What's wrong with the existing documentation Description The documentation homepage currently has several UI/UX issues that affect readability and overall user experience, especially on differe...

eternal venture
#

@marsh idol Sir,
I have raised a PR for Issue #795: https://github.com/AOSSIE-Org/PictoPy/pull/801

This PR implements image-level deletion with a safe and user-friendly workflow:

-Images can be deleted individually or in bulk
-Deleted images are moved to Recently Deleted
-An Undo popup is shown immediately after deletion
-Images in Recently Deleted can be restored or permanently deleted

I also attached the demo video in the PR.

Kindly review the PR and share your feedback. Thank you.

GitHub

📌 Overview
Fixes #795
This PR introduces a safe and reversible image deletion workflow by implementing
soft delete instead of irreversible removal. Deleted images are moved to a
Recently Deleted se...

distant thorn
#

@marsh idol how was the hackathon?

#

anybody active these days?

real gale
#

How's it going guys

warm glen
#

Hello everyone,
I noticed that on the landing page where users can download the project, there is no footer.
Because of this, users don’t have a direct way to contact the company or learn more about it.

So, I have raised this issue (issue #803).

slate meadow
#

Hey everyone
I’ve fixed the performance issue in the /images/toggle-favourite endpoint where it was fetching all images and iterating (O(n)).
Updated it to directly fetch the required image (O(1)) and raised a PR for review.
Would appreciate it if someone could take a look https://github.com/AOSSIE-Org/PictoPy/issues/805

GitHub

The /images/toggle-favourite endpoint has a significant performance issue. When toggling the favourite status of a single image, the code fetches ALL images from the database and then iterates thro...

warm glen
frank quest
narrow tendon
distant thorn
tidal jetty
#

Hello everyone!

I’ve implemented a fix for this issue by expanding the hover and click hit area around the image navigation arrows.

The solution introduces a larger invisible interaction zone while keeping the arrow visually compact. When the cursor approaches the arrow, it highlights and slightly scales, and clicking anywhere inside the area triggers navigation — similar to native photo viewers.

PR: https://github.com/AOSSIE-Org/PictoPy/pull/808
Feedback welcome 🙂

GitHub

Issue
Closes #658
Problem
Currently, the navigation arrows in the image preview / fullscreen mode only respond when the cursor is placed precisely on the icon. This requires pixel-perfect mouse pos...

unreal quartz
#

Heyy ,
@marsh idol
i am now open to work
if there is some issue that i can solve please let me know

tawny cloak
#

Heyyy @marsh idol , please let me know if I can contribute on any issue, would love to contribute.

eternal venture
#

@marsh idol Sir,
In PictoPy, image paths are selected from the local file system. If a user deletes an image directly from the file explorer, the database still retains the old image path and PictoPy continues to show it. This leads to data inconsistency between the filesystem and the database.

like this broke the sync so, I can start working on fixing this issue?

crude prismBOT
#

@eternal venture You are now level 2! :confetti_ball:

zenith lava
#

Hello everyone 👋
I’ve joined the PictoPy community and have successfully completed the local project setup.
Looking forward to contributing and learning from you all!

ivory smelt
#

Hi @marsh idol Sir & everyone!
I’m Vansh 👋. I’m a computer science undergrad who enjoys working with Python and getting involved in open source. Pictopy really caught my attention because it’s a clean, Python-based project with practical use, and it feels like a great place to learn while making meaningful contributions. I’m excited to get involved and would love to know where I can start contributing.

peak belfry
#

@marsh idol and others as well,
I have opened this issue https://github.com/AOSSIE-Org/PictoPy/issues/793

while solving what i did was i tried chaning few parameters and wrote few new functions
eps = 0.2 for tighter clustering
min_samples = 1 to include as many faces as possible
conf_threshold = 0.5 for better detections
similarity_threshold = 0.8 for conservative assignment
FaceNet_util_is_face_quality_good() : Rejects blurry, partial, or too-small faces

I tested these changes using around 200 images of me and my friends, and the results improved significantly. Previously, the system was detecting two different people as the same person, but now its able to separate them correctly.

However, when I tested with images from a Kaggle dataset (about 50 images each of two people), the system unexpectedly combined the two individuals as one, even though they were being detected as separate previously with original configurations.

Then, I placed all the images (both from my friends and the Kaggle dataset) into a single folder and ran the clustering again. This time, the results were as expected, the system correctly identified them as separate individuals.

I am trying to understand why the performance differs when the images are in separate folders vs when they’re combined in one folder. Any insights would be greatly appreciated!

GitHub

Is there an existing issue for this? I have searched the existing issues Description The current face clustering implementation incorrectly groups faces, causing two main problems: Multiple differe...

real gale
#

The paper discusses how "bridge points" (noisy images/ outliers or low quality faces that sit in the space between two clusters) cause distinct clusters to merge

#

Also, according to the paper, having min_samples = 1 makes the system extremely vulnerable to "chaining" ||(the merge problem)||
Could you try increasing min_samples from 1 to 3?

#

Does that make a difference?

real gale
peak belfry
#

Those are some great inputs @real gale , Thanks a lot, I'll give it a go and keep you updated!

narrow tendon
#

@real gale @distant thorn guys can you tell me in which issues are you **contributing ** ?

flint token
#

Hey Guys ! I’ve set up the repo locally.
I noticed most of the good-first-issues are already taken,
Is there any area you’d recommend I start with?

simple dome
distant thorn
peak belfry
signal drum
#

Hi everyone! 👋
I’ve set up the project locally and gone through the docs to understand the workflow.
I’m excited to start contributing and was wondering if you could suggest any good first issues or beginner-friendly tasks where I can add value and learn the codebase better.
Thanks in advance!

flint token
flint token
marsh idol
#

Hi everyone! My college is now completed and I am also done with most of the hackathon's work. Glad to be back and see many new contributors. Please be patient as I review all the remaining PRs and review the new issues. I am the sole maintainer for this project right now 😅

I primarily do this work in my free time, so please expect a slow review and response time. Let us take this project to new heights 💪

#

I am planning to schedule a Google Meet in the upcoming weekend to interact with the community. Will 10PM IST be fine for everyone?

real gale
frank quest
frank quest
narrow tendon
severe haven
#

Good afternoon @marsh idol Sir 👋

I hope you’re doing well. I’ve opened my first PR in PictoPy to improve the documentation homepage layout and sidebar spacing, focusing on better readability, spacing, and overall visual hierarchy.

🔗 PR: https://github.com/AOSSIE-Org/PictoPy/pull/834

The changes are limited to documentation UI/styles only. I would really appreciate your feedback or any suggestions for improvement. I’m happy to iterate and learn.

Would really appreciate your feedback. Thank you! 😊 🙏

GitHub

This PR improves the documentation homepage layout and overall readability by refining spacing, alignment, and visual hierarchy.
The focus is on improving user experience by reducing visual clutter...

crude prismBOT
#

@severe haven You are now level 2! :confetti_ball:

warm glen
crude prismBOT
#

@warm glen You are now level 3! :confetti_ball:

flint token
wicked silo
#

Hello everyone! I’m new to this server and interested in contributing to this project. I’ve worked with YOLO for object and face detection in my projects, and I believe that experience could be useful here. Could you please guide me on how to get started and where I can contribute effectively?

worthy crow
#

Hi everyone, I’m Prathiba.
I’m setting up Pictopy locally and plan to start contributing with small bug fixes and documentation improvements.
Happy to collaborate and learn from the community.

frosty sundial
#

Hey everyone!
I'm Rudra, a student passionate about AI/ML and Python development. I recently discovered AOSSIE through GSoC and I'm really excited about the projects here!
I'm really interested in PictoPy and I've already cloned the repo and gone through the codebase. Looking forward to contributing and learning from this amazing community!
Would love to start with a beginner-friendly issue if anyone can point me in the right direction. 🙂
Thank you so much!

marsh idol
#

Merged the 1000th commit to this project just now 🔥

frank quest
eternal venture
# eternal venture <@691646844425469952> Sir, In PictoPy, image paths are selected from the local f...

@marsh idol Sir,

In PictoPy, image paths are stored from the local file system. If a user deletes an image directly from the file explorer, the database still retains the old path, and PictoPy continues to reference it. This breaks synchronization between the filesystem and the database and leads to data inconsistency.

I wanted to confirm whether this is a valid issue to work on and get your feedback before proceeding with a fix. I already raised issue - https://github.com/AOSSIE-Org/PictoPy/issues/812
Kindly please have a look when you get a chance.

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Describe the bug PictoPy stores image paths selected from the local filesystem in the database. If a user del...

marsh idol
eternal venture
median drift
#

Hello @marsh idol sir!
I’ve been exploring the PictoPy codebase and I’m keen to start contributing. I’m currently going through the project structure and existing issues to understand the workflow.

I wanted to check what the preferred approach is for contributors, should I start by picking up existing issues, or is it encouraged to raise new issues for bugs or feature ideas identified during exploration? I’d appreciate any guidance on high-impact areas to focus on early.

Thank you!!

young torrent
#
GitHub

Describe the feature I’ve observed that when scanning large folders (e.g., 100+ photos), the frontend remains stuck on “No Images to Display” until the entire process completes — even though the ba...

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Description Currently, running the app requires multiple manual steps: cd backend && python main.py c...

tidal jetty
#

Hello @marsh idol sir! The album feature has been added! please take a look at my PR. I have successfully implemented all the necessary features. Feedback is most welcome https://github.com/AOSSIE-Org/PictoPy/pull/851

GitHub

📸 Album Management Features
🚀 Summary
This PR introduces a comprehensive Album Management System to PictoPy. Users can now organize their photo libraries by creating albums, adding/removing images,...

distant thorn
#

@marsh idol how was the hackathon

real gale
distant thorn
#

were you there?

real gale
real gale
#

How was the crowd, even I am intruiged 🤔

#

How were the people

distant thorn
severe haven
unreal quartz
marsh idol
#

around 220+ attendees

zealous thorn
#

Hi all!

Myself Varsha, and I’m a CS student preparing for GSoC 2026.
I’ve selected PictoPy as the project I’d like to contribute to, and I’ve started exploring the docs and codebase.

I’m excited to learn, contribute, and be part of the community.
Happy to be here and looking forward to collaborating!

turbid quartz
#

Hi everyone !!!
I’m Phanindra, a CSE (Cyber Security) student preparing for GSoC 2026.

I’m here to learn open-source workflows, understand large codebases, and start making meaningful contributions. I’m currently focusing on building strong fundamentals, reading project docs, and preparing to pick up beginner issues.

Looking forward to learning from the community and collaborating where I can add real value.

thorny patio
#

Hey folks! 🙌
I’m Shreya, learning the MERN stack and starting my open-source journey 😄
I’m a beginner, but I love digging into problems and trying to solve complex issues step by step 🧩🔥
Super excited to collaborate, learn from everyone here, and contribute as much as I can 🚀
Glad to be here!

mental violet
#

Hi everyone ,
I’m Prakhar Agarwal, a student learning Web Development and preparing for GSoC 2026.
I’m exploring PictoPy and would love to start contributing through beginner-friendly issues.
Looking forward to learning and collaborating with you all .

real gale
crude prismBOT
#

@real gale You are now level 20! :confetti_ball:

real gale
#

Hi @marsh idol, the Advanced Zoom on Scroll PR is also ready for review now, and this is a very high value PR and an end user consumer facing improvement. I'd really appreciate and request you go through it, try the feature out...
I've tried implementing the feature in as much depth and with as much precision as possible. Refined across as many edge cases I could think of/ stumbled upon while working on this. centering, anchoring, bounds, panning safety, cursor feedback, etc

You may find the PR here. It's end user ready, properly reviewed ||by AI 💀 (coderabbit, copilot...)|| many times.

drowsy parcel
#

Hi all , 👋
Iam , Shashank Tandan, a student developer from India .
I have started setting up the pictopy repository locally and going through the code base . Please let me know if there are any issues or areas where I can start contributing . Happy to collaborate and learn from all of you !

marsh idol
warm glen
#

Hello Rahul Sir,
I’m new to open source. I’ve raised a few issues and also submitted some PRs.
I just wanted to ask what I should focus on next and whether I’m going in the right direction.
Any guidance or feedback would really help me.

marsh idol
wicked silo
wicked silo
#

facing this issue while reinstalling

distant thorn
real gale
#

@marsh idol would you like me to share the MoM (Minutes of Meeting) here in the chat?

distant thorn
real gale
marsh idol
real gale
marsh idol
#

I think everything is neatly covered here.

marsh idol
real gale
#

True

marsh idol
#

Great tool

real gale
#

(First time using)

marsh idol
#

From now on, you are sending these notes for every meet.

marsh idol
eternal venture
wild patrol
#

Hello @marsh idol sir, while stepping up the app Picotpy, came across these few issues

#

During the initial set-up, the back button doesn't seem to work

#

And the second issue is that.. there is step 4/3 instead of vice versa 😅

young torrent
mossy crown
#

i would also like to contribute

eternal venture
real gale
eternal venture
#

I wanted to highlight a few issues I’m currently facing in PictoPy:

The Settings section is very slow, especially while checking folder status. It takes a lot of time to load.

Folders are not getting deleted properly, and currently any type of folder (images, code files, etc.) can be uploaded without restriction.

Due to the slowness, uploading another folder often fails or gets stuck.

Additionally, I have already raised a PR for image-level deletion:
After deleting images individually or via multiple selection, they move to the Recently Deleted tab.
From there, users can permanently delete the images as well.

I also explained this PR during yesterday’s PictoPy meeting.

Also add what sir gives reply for the same .

@real gale

severe haven
marsh idol
marsh idol
marsh idol
eternal venture
#

Okie I'll !!

crude prismBOT
#

@eternal venture You are now level 3! :confetti_ball:

eternal venture
distant thorn
marsh idol
warm glen
#

yes @marsh idol sir i have opened it and in my pc i faced this #748 issue so i have submit a pr

#
GitHub

📝 Description On the landing page where users can download the project, there is currently no footer section. Because of this, users do not have an easy way to contact the company, access social li...

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Description I noticed a UI/UX issue in the button section of the website that affects both visual clarity and...

GitHub

Fixing - #856
Description
The issue where the Home button in the navbar was not functioning on the landing page has been fixed.
Previously, clicking the Home button did not scroll or redirect the u...

marsh idol
marsh idol
marsh idol
#

Guys please make this one thing very clear, DO NOT open a PR for an issue which is not yet reviewed by me. What do you think, all the issues you report are always valid? NO.

You are wasting yours as well as my time. I have to spend hours cleaning up the mess made by the new incoming contributors. I might be sounding frustrated, it is because I am. I can anytime ban a user for opening too many irrelevant PRs for their irrelevant issues. Open as many issues as you like, but first let me review the issue and THEN YOU START THE WORK ON IT AND OPEN A PR.

Make this thing very clear.

distant thorn
marsh idol
#

Yes, I think I am not having that access to pin the message.

drowsy parcel
#

@marsh idol
The “Windows protected your PC” warning is controlled by Microsoft Defender SmartScreen at the OS level and cannot be removed through backend or application code. Unsigned executables will trigger this warning, and standard signed executables may show it initially. To avoid the warning on first run, the application must be digitally signed using a trusted Certificate Authority, preferably with an EV Code Signing certificate. MSIX packaging alone does not eliminate this requirement.

#

@marsh idol If we want to avoid any popup notification, the application must be digitally verified using a trusted code-signing certificate; there is no alternative technical solution.

real gale
#

Hello Rahul
I have finally been able to implement the proper shutdown task we talked about yesterday...

Below is a screen recording of everything in action - displayed alongside task manager for proof.

#

There's one thing about graceful shutdown though... The frontend itself seems to be talking some time (~2 seconds) to close after the close button was pressed....

#

This happens because frontend will need to wait for “shutdown accepted" response from the backend to make sure backend is shutting down and that the frontend doesn't ever just mistakenly be like "okay I've sent the shutdown message, now I can close, now its backend's headache it closes or not". In this case, in case backend doesn't get the "Shutdown" message it may keep running in the background...

Is this wait okay? Or do you want me to force ki-

frank quest
crude prismBOT
#

@frank quest You are now level 5! :confetti_ball:

frank quest
#

Not completely sure but for open source projects I think microsoft does provide free tiers for uploading applications on the store

snow shale
drowsy parcel
crude prismBOT
#

@drowsy parcel You are now level 6! :confetti_ball:

drowsy parcel
real gale
#

TLDR: Should I

  1. Force kill the processes
  2. Keep graceful shutdown but add a feedback like a spinner for user, saying "Closing..." ??
distant thorn
real gale
#

With the response check, we can force kill if response doesnt come back (ive kept the timeout at 3 seconds)

#

In my opinion, a modal spinner saying “Closing…” is the best option. But I’ll wait for Rahul‘s response in case he wants something else or anyone else has a better suggestion.

neon meadow
real gale
neon meadow
#

my bad , I thought frontend closes immediately and backend shuts down gracefully . Maybe we can try this approach but modifying tauri build config

real gale
#

I looked up a similar method that popular closed source applications use:

  1. User clicks “X”
  2. Frontend immediately closes the window
  3. Frontend sends /shutdown to backend
  4. Frontend waits up to 3 seconds
  5. If backend doesn’t shut down, frontend force kills

But here there is a requirement that a background process will still need to be running, since a closed front end cannot both - be gone and enforce force kill…

Apps that do this usually have a tray process running in the background

neon meadow
eternal venture
wild patrol
#

Has anyone encountered this issue ?
When I try to add photos to the photo library, I can’t see any local images in that folder. It shows ‘No items match your search,’ even though the folder originally contains images in supported formats (PNG, JPG, JPEG).

real gale
#

For it to showcase any image files, the function will have to ask for images, not folders. And that is not the case since we are looking for folders.

wild patrol
crude prismBOT
#

@wild patrol You are now level 2! :confetti_ball:

real gale
wild patrol
#

also the App has been giving me troubles actually, it wouldn't' t open and says "Failed to connect"..
I believe, few others were facing the same difficulty and were working on it if i am not wrong
is there any update?

hollow island
#

@marsh idol Hello , I was digging into the face clustering code to understand the pipeline better and noticed that several important decisions happen implicitly like embeddings can be skipped, DBSCAN can mark faces as noise, and post-merge logic can collapse clusters.

While the steps are logged individually, it’s hard to tell at a glance how many faces were excluded, how much noise DBSCAN produced, or how much merging affected the final result without stepping through the code

I opened a small issue proposing high-level summary logging (no behavior changes) in case that kind of observability is useful: #878
https://github.com/AOSSIE-Org/PictoPy/issues/878

GitHub

Summary The face clustering pipeline in backend/app/utils/face_clusters.py performs several critical filtering and decision steps, but lacks high-level summary metrics that would help developers un...

real gale
# wild patrol

This Error seems to be happening for me as now... I did see it today in the morning but it only occurred once and got fixed by itself when I ended all pictopy related tasks and reopened the app. But now it seems to be happening consistently with me as well

wild patrol
wild patrol
neon meadow
crude prismBOT
#

@neon meadow You are now level 7! :confetti_ball:

severe haven
#

Can anyone tell on which issue we are currently working on, so that I can go further

wild patrol
real gale
#

And because it's being created at Temp, sometimes the path happens to exist which leads to a successful startup, else this error

wild patrol
#

So if the DB file is created in a stable, app-specific data directory instead of Temp, this should resolve the issue.

wild patrol
#

is anyone working on this?

crude prismBOT
#

@wild patrol You are now level 3! :confetti_ball:

marsh idol
#

@real gale @wild patrol Let us meet over a google meet.

#

is 9 PM IST fine?

distant thorn
real gale
marsh idol
#

Video call link: https://meet.google.com/ueb-cmvo-wff

Use this link. @real gale @wild patrol

eternal venture
marsh idol
neon meadow
real gale
#

Hi chat, please find below the key notes and takeaways from today's meeting 👇
https://docs.google.com/document/d/1ZkDr6gQjPyImEwD-UJ86zXMd3S6F5lFG6tUsSBcdNzk/edit?tab=t.hvq4nfwf0wa5

neon meadow
hallow adder
#

Hi @marsh idol — I’ve reported a bug related to duplicate React keys in the AI-Tagging section. I’ve included details, reproduction steps, and a suggested fix in the issue here:

https://github.com/AOSSIE-Org/PictoPy/issues/888

I’d be happy to work on a PR once it’s approved.

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Description React reports duplicate key values when rendering face clusters in the AI-tagging section. Since ...

wicked silo
#

Hi @marsh idol , I’m still facing this issue. Could you please help me with it?

narrow tendon
wicked silo
narrow tendon
#

ok

real gale
real gale
wicked silo
crude prismBOT
#

@wicked silo You are now level 2! :confetti_ball:

wicked silo
old yarrow
real gale
#

so the app isn't able to start its backend (because app also needs port 8000) hence the clash

#

now try taskkill /F /PID 13032

#

You'll similarly have to make sure port 8001 is also free

wicked silo
#

I already did that
It's still showing same error

wet lion
#

Hey everyone
Sorry for being inactive for so long. I had my exams going on, and they’re actually still continuing till 1st January, so things got pretty hectic for me.

A lot has changed during this time, but I’m still here and staying connected with you all. I’ll slowly start being more active again and joining in properly (||but still contribute ||).

Thanks for understanding ❤️

wet lion
real gale
#

Hi @marsh idol, I'm unable to correctly build and test graceful shutdown for linux, could you share me the exact build commands we're using for Linux .deb builds?

wet lion
marsh idol
#

i.e. publish a release on your fork. But for this, your fork's main branch should have the commits of the "automatic shutdown" PR.

zenith hound
#

Hello everyone, i am is Vishal.
I am a Computer Science student with a strong interest in open-source development and building web applications as well as end-to-end systems. I enjoy transforming ideas into practical implementations and believe in learning through hands-on experience. I look forward to contributing meaningfully, collaborating with peers, and growing both technically and professionally as part of this team.

#

I’ve set up PICTOPY properly. Could you please guide me on how to start

wet lion
wicked silo
wet lion
wet lion
wicked silo
#

After starting the app on the loading screen

wet lion
wicked silo
#

Just clicked on it

wet lion
wicked silo
#

Yup

#

Version 1

obtuse hatch
#

Hey @marsh idol ! I’ve implemented the changes you suggested for issue https://github.com/AOSSIE-Org/PictoPy/issues/608
— sanitizing image_ids and securing the IN clause. Could you take a look and let me know if it’s good to merge or needs anything else?"

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? There is a potential SQL injection vulnerability in the db_add_images_to_album function. The function dynamic...

distant thorn
#

Hi @marsh idol
When you were creating deb package for pictopy, does it ask for private keys to sign the package? If so then can you give me private key to sign appimage

crude prismBOT
#

@distant thorn You are now level 17! :confetti_ball:

edgy rapids
#

Hi everyone ! @marsh idol
My name is Sanskriti , a Full Stack & Android developer exploring this organization’s projects.

I’m planning to apply for Google Summer of Code 2026, and I wanted to ask if it is confirmed that this organization will be participating as a mentoring org in GSoC 2026 this year.

If the participation is planned or confirmed, I’d love to start contributing early to active project repositories and prepare a proposal accordingly.

It would be great if you could share any updates or the expected timeline for the official confirmation/announcement.

Looking forward to contributing and being part of the community!
GitHub: https://github.com/Sanskriti10247

Thanks a lot for your guidance

distant thorn
#

Can anybody tell me in any bundler (like deb or .exe), where is the code (in src-tauri) to run backend and sync microservice executable on startup?

#

or we have to manually start it

distant thorn
zenith hound
#

you need to start backend locally

#

and then run .exe file

distant thorn
#

@marsh idol can i try to integrate backend and sync micro with my appImage so that we manually don't need to start the server

rough iris
#

Hi everyone,
I’m currently exploring the Pictopy project under AOSSIE and going through its repository and documentation.
I’m interested in starting my first contribution here.
Could you please let me know if there are any beginner-friendly / good first issues or small features or documentation improvements that I can start with?

tall bone
#

@marsh idol What are the plans for the video page, i have experience with processing and analysing videos with local YOLO models.

crude prismBOT
#

@tall bone You are now level 3! :confetti_ball:

wet lion
crude prismBOT
#

@wet lion You are now level 13! :confetti_ball:

wet lion
distant thorn
#

@marsh idol should i create a gpg key or use that one is in that file

wet lion
#

they are not giving you their (||or may be||) private key to (||not sure||), you can also use that or generate your private key on your fork and then build using that key

wet lion
#

Hey @wicked silo ,
You’re getting this error because of this part of the code:

if (!(await isServerRunning())) {
  const serverPath: string = await invoke('get_server_path');
  const command = Command.create(
    isWindows() ? 'StartServerWindows' : 'StartServerUnix',
    '',
    { cwd: serverPath },
  );

  const child = await command.spawn();
  command.stderr.on('data', (line) => console.error('Error:', line));
  console.log('Server started with PID:', child.pid);
} 

The issue is that the backend is already running, but the frontend checks it by sending a request to http://localhost:8000. Since the backend doesn’t respond properly, the check fails and the code assumes the server isn’t running, so it tries to start it again — which causes the port error.

#

you can check that manually by type this URL in your browser and send req and see the res

young torrent
#

Hey @marsh idol@wet lion, I'm back after completing my sem Exams, pls let me know any help you want, now I'm available.

radiant tusk
#

Hey@Rahul@Rahul vyas,I'm done with the javascript and some mini-project continuing my study Nodenjs and Express,EJS i want to contribute if you need some help ,pls let me konw , because i need some experience.

fallow glen
#

Hey everyone!
I’m Parth, excited to join this project team and start contributing.
I’m currently building my skills in open-source development, and I’m also planning to participate in GSoC 2026, so I’m hoping to learn, collaborate, and grow with you all.
Looking forward to working together!

wet lion
#

hey @young torrent and @radiant tusk both start by setting up the project locally and if you face any issue then please let us know

marsh idol
wet lion
#

private credentials cannot be shared ...

marsh idol
#

to generate a build for yourself to test @distant thorn, you need to generate a private and public key using "npm run tauri signer generate"

and update this public key in the tauri.conf.json

wet lion
zenith hound
distant thorn
radiant tusk
#

Hi!@wet lion , I’m setting up the project locally.
Could you please let me know the correct steps to run it?

wet lion
radiant tusk
#

@wet lion I'm facing issue here please can you help me ,issue with npm run setup

wet lion
#

And for adding the upstream remote:
First, check if an upstream already exists by running
git remote -v
If an upstream is already present, remove it using git remote remove upstream .
Then, add the upstream again with the correct repository URL.

wet lion
#

Hey @marsh idol , I’ve implemented the image search feature based on tag name or image name. If you agree with the approach, I can go ahead and raise a PR.

narrow tendon
#

@marsh idol SIR please review my doc so that i can work on that feature

#

when will be next meet ?

tall bone
#

@marsh idol We can implement celebrity search, i.e we will hardcode the face encodings of celeberities (i have them all encodings ready) and compare all of them with the face encoding in the image. This way we will be able to tag celeberities by their name

#
  • Different feature : We can also add OCR feature to detect text in images
wet lion
tall bone
#

@wet lion are you a mentor

#

I did n't asked you

wet lion
wet lion
#

Discord is just a community where everyone helps each other. I was only trying to help—no offense intended. 😊

tall bone
#

People always have old and authentic celeberities photos, it is not like if Ronaldo ages to 60 everyone will have his photos of only age 60

crude prismBOT
#

@tall bone You are now level 4! :confetti_ball:

tall bone
#

And offline models are less smart but smart enough to handle a gap of good 10 years

#

I have tried this with YOLO offline model + dlib, it was sufficient. So, this is feature is elastic

zenith hound
tall bone
#

Ya they store faces as vectors

zenith hound
#

hmm

crude prismBOT
#

@zenith hound You are now level 2! :confetti_ball:

zenith hound
#

soo we also need to store faces as in vector db's

tall bone
#

Only of the celeberities

zenith hound
#

also that we need to store all the mostly known celeb's faces in our app

tall bone
#

Then we can detect face and calculate vector encoding in uploaded image on the fly and tag it with celeberity name

tall bone
zenith hound
#

but for this we need to introduce Vector DB for this

tall bone
#

No, it can be simply stored as json

#

Let me give you an example,

User uploads an image -> We detect face in that image -> We calculate face encoding of that -> we compare that with celebrity face encodings -> if matches we tag it with the celebrity name

short wraith
#

hello all i am Uday and i'm interested to contribute to this project.

zenith hound
distant thorn
#

@marsh idol my PR is ready but i need to make changes and add a stage for appImage compilation

tall bone
crude prismBOT
#

@tall bone You are now level 5! :confetti_ball:

tall bone
#

I got this on small

zenith hound
tall bone
#

It will be a good feature, as you definitely donot want to search person for an image of Ronaldo

#

And it will not consume that much compute, its simple and easy

distant thorn
zenith hound
#

same

tall bone
#

@marsh idol Do the application has any way of deleting images from within the window? If not i will be happy to implement this

#

I am proposing these new features

  1. Celebrity detection and tagging
  2. Delete option
  3. OCR for textual images
  4. Duplicate and best shot
  5. Direct uplaod option
severe haven
bold estuary
tall bone
#

Ideas for the Albums page

  1. AI will classify images into screenshots, person, group, architecture, docs, vehicles, streets, festival, animal, trees.

  2. User able to cretae new albums and drag and drop or ctrl+x and ctrl+v images there

  3. User be able to deleted albums

#

A secret vault idea

  1. A separate page for a secret vault, there will be a secret hidden button to open it and it will have a password

  2. A key will be generated from the password and it will be used to encrypt docs, images, videos in that vault.

  3. They key will never be stored, it will be generated, used and deleted.

I can implement this if you could approve @real silo

wicked silo
#

is face collection feature working properly?

wet lion
wicked silo
#

I uploaded multiple photos of the same person with one duplicate photos.
Only the duplicate photo got clustered.

crude prismBOT
#

@wicked silo You are now level 3! :confetti_ball:

wet lion
#

It can cluster duplicate photos and also same person photo if they have similar lightning condition similar bg bcz this offline model only can detect same env like photos

wicked silo
#

I’m experimenting with improving face clustering so that the same person gets grouped even across different angles and lighting.

tall bone
wicked silo
#

@marsh idol@wet lion I opened an issue regarding face detection accuracy and submitted a PR that resolves it.
Issue: #915
PR: #914
please review it

young torrent
#

Hey everyone! I just pulled the latest changes from main (commit d07d817)
and I'm getting an infinite recursion error when trying to run the backend.
The error is in setup_logging.py at line 250 where emit() calls logger.log().

Has anyone else encountered this? @marsh idol @wet lion Should I open an issue or is this already
being addressed?

Error: RecursionError: maximum recursion depth exceeded
Location: backend/app/logging/setup_logging.py:250

north lion
#

and likely fix would be to write directly to the handler output inside emit()

young torrent
crude prismBOT
#

@young torrent You are now level 6! :confetti_ball:

north lion
#

I tried setting up PictoPy locally on Windows (Tauri dev flow) and ran into the same recursion issue in backend/app/logging/setup_logging.py that was mentioned earlier.

Specifically:

  • InterceptHandler.emit() ends up calling logger.log(...)
  • which routes back through the same handler
  • leading to RecursionError: maximum recursion depth exceeded

I’ve paused further setup on my side for now since this blocks the backend startup.
Just wanted to confirm this is a known issue and avoid duplicating work.

Happy to help once there’s guidance on the intended logging flow 👍

young torrent
wet lion
#

In which command you are getting this error? @north lion @young torrent .

north lion
marsh idol
#

Hi guys, I think many people are having doubts and feature suggestions regarding this project. We have a weekly call scheduled and fortunately, it is on Saturdays. So please join the call at 10 PM IST.

north lion
zenith hound
#

@wet lion @marsh idol , will you also be attending???

wet lion
#

@young torrent @north lion have you tried using

.env\Scripts\activate.ps1
fastapi dev ```
distant thorn
#

anybody uses any linux distro

#

I need to run some tests for my Appimage release

north lion
frank quest
#

Arch

distant thorn
frank quest
#

I think issue was brought up earlier as well by someone , but I think there is no progress on it so I am bringing it up again

The issue is that the folder check API is continously hit while on the settings page and stops if changed

north lion
crude prismBOT
#

@north lion You are now level 3! :confetti_ball:

north lion
frank quest
#

Yes but first I think I will make sure Rahul sir allow it by putting this forward in today's meeting

marsh idol
short wraith
#

Hi everyone! 👋 I’ve just finished setting up PictoPy locally and have both the backend and sync microservices running smoothly. I’m a GSoC 2026 aspirant and am very excited about the project’s goal of local-first image management. I’m ready to dive into the codebase—are there any 'good first issues' or specific areas in the backend/sync service you’d recommend I look into first? Looking forward to contributing

young torrent
#

Hey@short wraith, go through the readme.md and contributing.md. For the sync microservice, examine how the system handles file system events or metadata extraction. Do not open any PR without the maintainers' review; help the maintainer maintain the codebase.

short wraith
#

Thank you for the guidance @young torrent ! Understood. I will spend the next few days deep-diving into the README.md and CONTRIBUTING.md as suggested. I'm particularly interested in tracing the flow of file system events and how metadata extraction is structured within the sync microservice. I'll make sure to discuss any ideas here with the team before opening any PRs. Excited to learn the codebase and help maintain the quality!

eternal venture
random temple
#

Hi @marsh idol, I am setting up pictopy project on windows os but with node version as 22 and python version 3.13. During this process encountered some issues so made changes in setup script. Can I raise pr which supports both the versions? Want your feedback for it.

frank quest
#

Try python 3.12 setup is supported in that version perfectly

obtuse hatch
#

Hey @marsh idol

I’ve pushed the requested updates to PR #629 https://github.com/AOSSIE-Org/PictoPy/pull/629 and addressed all review comments.
CI is now fully green and there are no pending issues.

Whenever you get some time, could you please take a final look?
Happy to make any further changes if needed. Thanks!

GitHub

closes #608
Summary
Fix potential SQL injection in db_add_images_to_album by sanitizing image_ids and using parameterized IN clause safely.
Changes

Validate image_ids to be integers (skip invalid)...

distant thorn
#

@marsh idol @real gale I have a better solution for that when we close the application, backend should also be close.
Right now as i can see that we manually need to open Pictopy frontend and backend.
But In tauri there is plugin of sidecar which helps us to a seperate executable alongside with main application. On closing the frontend, the backend would automatically closes. It can be added in our src-tauri/src/main.rs file
So whats your opinion?

distant thorn
#

this is our current src-tauri/src/main.rs code. Here, after getting the resource path for backend, we ain't doing much

marsh idol
#

Everyone should first pull the latest changes and then again setup the project.

north lion
#

just sharing what worked for me on Windows after pulling latest main

Local dev order that worked:

  • Start backend (52123)
  • Start sync microservice (52124)
  • Then launch Tauri
    if Tauri is started before the sync service, I was getting “Waiting for servers”.
    Might help others on Windows
marsh idol
crude prismBOT
#

@marsh idol You are now level 32! :confetti_ball:

stuck rune
#

Hi everyone,
I’m Panav , a sophomore in the Mathematics & Computing student at IIT Kanpur, and an aspiring GSoC 2026 contributor.
I’m currently focusing on web development using MERN stack and learning how to contribute effectively to open-source projects.

I recently started exploring this organization and would love some guidance on:
how to get started.
areas where my contributions could be most helpful

I’m excited to learn, contribute consistently.
Looking forward to working with you all!

north lion
#

@marsh idol just flagging a small UI observation (not blocking):

On Windows/Tauri I’m seeing double vertical scrollbars on the main content view (window scroll + inner container scroll).
Looks like a nested overflow issue (likely overflow-y on a child container). Not critical, just sharing in case it’s already on the radar.

Happy to look into it later if maintainers feel it’s worth addressing.

marsh idol
short wraith
#

hey can anyone help me how to start contributing
i had setup localy and started it and i was unable to add any pics or folders

short wraith
#

Can anyone help me guys ?

crude prismBOT
#

@short wraith You are now level 2! :confetti_ball:

north lion
# short wraith Can anyone help me guys ?

this usually happens when only the frontend is running.
PictoPy needs backend + sync microservice to be running locally.

On Windows, try this:

  1. Start backend
cd backend
uvicorn main:app --reload --host 127.0.0.1 --port 52123
  1. Start sync microservice (important)
cd sync-microservice
python main.py

(or whatever command is mentioned in the setup guide)
3. Then launch Tauri / frontend

cd frontend
npm install
npm run tauri dev

Once both services are running, adding folders & images should work. If you’re just testing the app (not developing), the Windows .exe is the easiest way.
Let me know what OS you’re on.

#

also, on first run windows may block network access, make sure firewall permission is allowed.

short wraith
short wraith
#

getting error @north lion

#

while running the second command

north lion
short wraith
#

yes

short wraith
unreal quartz
#

the app crashes with a RecursionError: maximum recursion depth exceeded

north lion
crude prismBOT
#

@north lion You are now level 4! :confetti_ball:

unreal quartz
north lion
#

it’s not a setup problem on user end, the logger is recursively re-initializing and hitting Python’s recursion limit (especially on Windows / Python 3.12)
ig this would be discussed today in the meeting

short wraith
solemn prism
#

I have opened issue #918 regarding this topic and am waiting for @rahul sir’s review

north lion
#

I noticed, it was closed yesterday

random temple
#

Hi @marsh idol, I have made some changes regarding project’s compatibility with python 3.12 and 3.13. And worked on one script which first runs the frontend later runs backend so that app will be available to use. As I have to manually run both servers on different terminals. Can I proceed with creating issue and submitting my changes? Correct me if going in wrong direction.

distant thorn
distant thorn
thorn tiger
#

Hi @marsh idol @unreal quartz
I opened issue #924 about improving onboarding and documentation clarity from a first-time contributor’s perspective.

I’ve now set up the docs locally and have a small, scoped reorganization in mind (no new content, just structure/clarity).

Before opening a PR, I wanted to confirm if this direction sounds okay and if there’s anything specific you’d prefer I focus on.

Thanks!

short wraith
solemn prism
#

@short wraith run all three commands in different terminal

short wraith
crude prismBOT
#

@short wraith You are now level 3! :confetti_ball:

short wraith
#

Not in the same terminal

#

In three different terminals

distant thorn
short wraith
#

it was showing unsupported windows v11

#

i think that's the problem ?

marsh idol
bold estuary
marsh idol
north lion
# short wraith i think that's the problem ?

windows 11 should be fine, I’m on win11 as well.

Just to confirm the setup:

  • are you running backend, sync-microservice, and tauri in separate terminals?
  • and does the recursion error appear when starting the sync-microservice?

If yes, this is likely the known sync-microservice logging recursion issue, not a setup problem.

marsh idol
short wraith
short wraith
north lion
north lion
marsh idol
#

Yes

short wraith
north lion
distant thorn
#

@marsh idol i'll join after 10:15 due to some work

wicked silo
#

Sorry I won't be able to talk right now (priyansh)

north lion
#

@marsh idol

crude prismBOT
#

@north lion You are now level 5! :confetti_ball:

marsh idol
#

If you were not able to attend today's meet, please read the summary.

young torrent
#

@marsh idol Sir, as you assign sawan on recursive logging issue on issue number #918, should I share actual issue in Discord?

wet lion
wet lion
bold estuary
young torrent
#

Hey, @marsh idol as you mentioned on Meet, I have raised the issue with the functionality. I will add
https://github.com/AOSSIE-Org/PictoPy/issues/942
I have a follow-up drag-and-drop feature that can be implemented pls have a look
https://github.com/AOSSIE-Org/PictoPy/issues/944

and tauri port detection error I will send within couple of hours

GitHub

Describe the feature The Issue: Right now, the sidebar is always visible, which takes up screen space that could be used to show more photos — especially on smaller screens or in fullscreen mode. S...

GitHub

Describe the feature I’d like to suggest a small usability improvement: allow users to drag a folder from their file manager right onto the PictoPy window to add it to the app — similar to how Obsi...

ornate jungle
#

After updating Pictopy and reinstalling it on my system, I encountered issues while starting the backend service. As a result of these backend issues, the frontend application is also unable to start successfully.

frank quest
real gale
#

Hi everybody, hi @marsh idol, just noticed there's a huge change to the architecture

distant thorn
#

@marsh idol i have some suggestions regarding our final release package

  1. Currently, we are copying all our backend folders into the release package which is not a great approach. This should be the desired folder structure
    usr/
    ├── bin/
    │ ├── pictopy_py #Tauri application
    │ └── python_backend
    | └── python_sync_backend
    ├── share/
    │ ├── applications/
    │ │ └──.desktop
    │ └── icons/

(demo opensource project - https://github.com/Senhaji-Rhazi-Hamza/tauri-vue-python-demo-todo)

  1. We are creating a database file in that release package itself. which is also again not a good practice . There is python function user_data_dir in the package platformdirs which would automatically chose the best plateform specific path available for our database and logger to get copied.
    (https://platformdirs.readthedocs.io/en/latest/api.html#platformdirs.user_data_dir)

  2. After solving these two issues, we can use @tauri/Command/Spawn to directly spawn our backend and microservice alongside with our tauri application

After that pls suggest any other dependencies that needs to be sorted our so that we can run python backend binary in standalong environment.

marsh idol
marsh idol
marsh idol
real gale
#

Hey @marsh idol, I pushed changes to my Graceful Shutdown PR, updated it with the merge conflicts. And coderabbit said “macOS support removed.”

#

I traced this… but I’m pretty sure my changes didn’t change anything regarding this as all…

distant thorn
distant thorn
#

can you tell me which files are being used by backend executable

marsh idol
#

and the executables for the python libraries like numpy, opencv

north lion
#

@marsh idol I’ve opened a PR fixing the duplicate scrollbar issue on Windows/Tauri (UI-only, non-blocking).
I’ve tested it locally and addressed review comments.
Would appreciate a review when convenient.

distant thorn
marsh idol
real gale
ornate jungle
north lion
#

Is anyone here running PictoPy on Windows 11 where face clustering is working correctly (i.e., faces are grouped into collections, not just tagged as person)?

I’m testing on Windows 11 + Python 3.12 and the backend runs without errors, but face-clusters always returns empty results. Trying to confirm whether this is a known Windows limitation or environment-specific.

wet lion
eternal venture
wet lion
wet lion
wet lion
north lion
marsh idol
north lion
wet lion
solemn prism
#

Hi @marsh idol , could you please review the PR for issue #918?

obtuse hinge
#

Hi maintainers,

I’ve been exploring the project and setting it up locally to understand the development workflow.

Since the project uses Tauri + React (TypeScript) + FastAPI + Rust, the initial setup can be a bit challenging for contributors, especially those new to Rust or Tauri.

I’ve been working on office and personal projects involving Docker, FastAPI, and React, so I wanted to ask if the project would be open to adding a Docker-based development setup (e.g. docker-compose) to simplify onboarding.

Potential benefits:
• One-command setup for contributors
• Improved environment consistency
• Helpful for GSoC students and first-time contributors

If this sounds useful, I’d be happy to work on:
• Dockerfile(s)
• docker-compose.yml
• Basic setup documentation

Looking forward to your thoughts

unreal quartz
marsh idol
#

We had a docker setup guide, I removed it only because of this reason.

#

Plus docker is way too heavy for windows users and requires minimum 16gb ram to work nicely

distant thorn
bold estuary
#

Totally agreed using docker consumes too much ram and storage.
I think for now instead of docker it would to be good to work on improving current setup experiences itself.

distant thorn
#

@marsh idol its working ig

#

i was overthinking but its just a simple one line command

#

evrything is intact. in main.rs, i am changing my current working directory to my pictopy server and then spawing that process

distant thorn
wicked silo
#

@marsh idol I have raised a pr resolving issue: #939
PR: #955
Please review it

random jewel
#

Hi everyone
I’m Ayush, a 2nd year undergraduate student with an interest in open-source development and collaborative projects. I’ve been exploring the Pictopy codebase and I’m excited to start contributing and learning from the community.
If there are any good-first issues I’d be happy to pick one up and start working on it. I’m comfortable with documentation, bug fixes, and beginner-level feature improvements, and I’m eager to grow as I contribute.
Looking forward to contribute

tall bone
#

@marsh idol As many people are facing issues due to wrong python version or they are just running it without creating proper virtual environments.

I am proposing two things

  1. Using miniconda to create environments, as with venv they can't mention python version for that venv

  2. I can make a tutorial video for doing setup from zero, covering debug for most commonly faced issues

frank quest
marsh idol
#

Is this really a big problem? Why aren't people able to setup the backend? setting up virtual environment is very easy

tall bone
#

Yes its easy but most of the messages recently are people getting stuck in basic setup issues and thinking that this is a legit bug

severe haven
wet lion
#

Don't know why but people just need to follow the README file and they are there

marsh idol
#

I will take a meet tomorrow

#

and cancel the upcoming weekly meet, because I have some other commitment for this week only.

wet lion
tall bone
#

No need of tutorial ig. But we might think on managing using miniconda instead of venv and pyenv. Only reason is its easier

#

If someone is using venv, he literally have to deleted other python versions and download the 3.12 one (novice thinking). Also, the guy might be working on some other projects where there is a different need

marsh idol
#

Then pyenv is the better option I think

#

because, with conda, we need to change the installation commands if I am not wrong.

#

and I want to have pip as the package installer for all systems

tall bone
#

miniconda is light weight version of conda

#

I have personally used pyenv and miniconda. The problem with pyenv is that sometimes terminal and vs code confuse between versions and cause horrible unexpected errors

#

Like terminal is using pyenv venv version but vs code still uses global version. Even on changing interpreter this issue might occur

marsh idol
#

suppose i am using a miniconda environment, then do we have to use pip or conda to install packages from requirements.txt?

tall bone
#

pip command

#

The commands will be like

conda create -p venv python==3.12
conda activate ./venv/
pip install -r requirements.txt
conda deactivate

#

Also miniconda has better dependency resolution than pyenv because pyenv uses your global python but miniconda has its own setup for these things

#

Even for pyenv we have to update commands

crude prismBOT
#

@tall bone You are now level 7! :confetti_ball:

marsh idol
#

Then you can make a tutorial

tall bone
#

Ok, Thankyou very much 😀

marsh idol
eternal venture
eternal venture
marsh idol
eternal venture
crude prismBOT
#

@eternal venture You are now level 4! :confetti_ball:

young torrent
#

Hey @marsh idol, I've implemented the collapsible sidebar toggle feature as discussed in yesterday's meeting. I've raised issue 942 for this. Pls review it, and suggest any changes, and should I raise pr for this.

distant thorn
distant thorn
#

is sync_micrservice running?

#

can anybody check it

marsh idol
#

what's the issue?

frank quest
crude prismBOT
#

@frank quest You are now level 6! :confetti_ball:

distant thorn
#

the backend is running properly

frank quest
#

Exactly

marsh idol
#

😭

distant thorn
#

but the sync microservice executable is not giving me correct health

frank quest
#

For me it looks all good but still it says could not start

marsh idol
#

these build issues never end 😢

distant thorn
marsh idol
#

can you share screenshot?

distant thorn
#

this is backend one. its fine

marsh idol
#

what are the logs displayed when you startbackend?

#

oh i see

#

what is the command you are using to build @distant thorn ?

real gale
#

Is there a scheduled meeting for tomorrow?

marsh idol
#

The upcoming weekly meet will not be held

#

instead, we meet tomorrow

real gale
#

Okay, i’ve got a question related to the new architecture. I will discuss this tomorrow only in that case.

distant thorn
crude prismBOT
#

@distant thorn You are now level 18! :confetti_ball:

distant thorn
#

i have followed that is in action workflow

marsh idol
#

wait

#

I know why is this happening

#

where have you stored the PictoPy.db file for the built PictoPy_Server?

#

the sync service needs that file

distant thorn
#

sync microservice doesn't have that ig

marsh idol
#

and where is the sync executable located at?

distant thorn
#

/sync-microservice/dist/PictoPy_Sync

#

its in sync-microservice folder

thorny otter
#

Hello everyone,
I’m Muneer Ali, an MCA student (2025–2027) and a Full-Stack & AI developer based in India. I’m excited to start contributing to AOSSIE and collaborate with the community.
Background
Strong experience with JavaScript, TypeScript, Python, Java
Frontend: React, Next.js, Tailwind CSS
Backend: Node.js, Express, REST APIs
Databases: PostgreSQL, MongoDB, Firebase
Familiar with Git, GitHub workflows, CI/CD
Good foundation in Data Structures & Algorithms
Open-source & project experience
50+ merged pull requests across multiple repositories
Built AI-driven platforms including:
DocMagic – an AI document generation platform
SignifyAI – an Indian Sign Language translation system
Regularly contribute, review PRs, and follow clean commit practices
What I want to contribute
I’m particularly interested in:
Web platforms (React / backend-heavy projects)
Developer tooling
AI/ML-assisted educational or productivity tools
Improving documentation, tests, and scalability
I’m currently exploring AOSSIE repositories and issues and would appreciate guidance on:
Beginner-friendly or “good first issue” tasks
Ongoing projects that need contributors
Best practices followed in AOSSIE contributions
Looking forward to learning, contributing consistently, and collaborating with mentors and fellow contributors.
Thank you!
— Muneer Ali
GitHub: https://github.com/Muneerali199
LinkedIn: https://linkedin.com/in/muneerali

distant thorn
#

let me show you the built directories

marsh idol
#

keep the PictoPy_Sync folder in the same directory as the PictPy_Server

distant thorn
#

see this is directory struct

dim whale
#

@marsh idol Sir I had raised an issue regarding Developer Experience. Please review and assign it.

distant thorn
thorny otter
#

Can anyone guide me I am new here tell me some issues I can work too on it

#

Currently I setup project locally

marsh idol
distant thorn
#

micrservice can't reach the db

#

because its in different folder

#

resources/backend/PictoPy_Server/app/database/PictoPy.db
resources/sync-microservice/PictoPy_Sync/app/database/ -> doesn't have any db

marsh idol
#

join this @distant thorn

distant thorn
#

k

snow shuttle
snow shuttle
rough iris
#

Hi! I’m Piyusha, a second-year ECE student. I’ve set up PictoPy and explored the backend and frontend. I’m excited about the project and would love to start contributing wherever I can!

dim whale
#

I am, Alivia Hossain, a State-level scholar (JBNSTS 2022) and a Semester 1 AI Engineering student with strong interest in open-source, AI, and web development. I have contributed to multiple open-source programs including GSSoC, SSoC, and served as Project Admin/Mentor in Hacktoberfest and SWoC. I have built an AI-based disease prediction system, an AI deepfake project, and developed my university department’s official website from scratch. Looking for to be a contributor in GSoC too !
My LinkedIn: https://www.linkedin.com/in/alivia-hossain-513a3a365?utm_source=share&utm_campaign=share_via&utm_content=profile&utm_medium=android_app

distant thorn
short wraith
#

Hey @marsh idol !
I noticed that the top Nav Bar shifts/jitters whenever the gallery reloads or hits the end of a page, so I’ve raised a GitHub issue to stabilize the layout. I also want to add a Pull-to-Refresh feature to the gallery to make it easier to update the image feed manually. I’m keen to jump in and fix this could someone please assign the issue to me?

issue : https://github.com/AOSSIE-Org/PictoPy/issues/962

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Description The Top Nav Bar (search/profile area) shifts unexpectedly during reloads or when the gallery is e...

crude prismBOT
#

@short wraith You are now level 4! :confetti_ball:

wet lion
zenith hound
crude prismBOT
#

@zenith hound You are now level 3! :confetti_ball:

north lion
#

@marsh idol
I put together a short screen recording showing how I’m running PictoPy locally on Windows using a small personal PowerShell script that simply orchestrates the backend, sync-microservice, and Tauri together after the official setup.

I’m not proposing this as an official script, it’s just my local workflow, but I wanted to share the video for context and ask if you’d prefer this to stay purely personal, or if it’s worth opening a small documentation / ergonomics issue later.

#

Important: This script is meant for local development after setup is complete. It does not install dependencies or create environments, and assumes the project has already been set up using the official setup scripts.

severe haven
#

@marsh idol sir will there be any class today??

severe haven
crude prismBOT
#

@severe haven You are now level 3! :confetti_ball:

distant thorn
severe haven
distant thorn
#

the latest lts version is 24

distant thorn
distant thorn
severe haven
#

Node 24 sometime not work

#

Sometimes due to version it gives error

north lion
# distant thorn yes

just to understand the intended workflow on Windows, with the sidecar plugin managing backend/sync lifecycle, is that expected to be the primary dev path there as well?

I ask mainly because I’ve seen Tauri sidecar process handling behave a bit differently on Windows compared to Linux/macOS, so I wanted to align my local dev setup with what you consider the supported path.

severe haven
distant thorn
bold estuary
crude prismBOT
#

@bold estuary You are now level 2! :confetti_ball:

distant thorn
#

by forking my repo

north lion
crude prismBOT
#

@north lion You are now level 6! :confetti_ball:

distant thorn
distant thorn
#

@marsh idol we need to change the DB path also

ornate jungle
#

These issues were coming while trying to start backend server and microservice

north lion
#

@marsh idol
I’ve implemented a small UI polish where the “Go to Settings to add folders” text in the empty gallery state is now clickable and directly navigates to Settings.

It’s a minor UX improvement and doesn’t touch any backend or routing logic. Let me know if you’re okay with including this

#

@marsh idol Hi, just checking in to see if there’s any meeting planned for tonight?

bold estuary
tall bone
#

@marsh idol Do we have a meet today?

tall bone
#

What did you tought of the miniconda thingy

marsh idol
#

I was testing it yesterday

#

We are going ahead with miniconda setup

#

I will commit those changes before today's meet.

tall bone
#

I am glad you liked it

distant thorn
#

@marsh idol i have fixed the DB issue also now working fine

#

in appimage build

north lion
clever latch
#

I was thinking of adding a feature where we should be able to manually reassign images from one cluster to another, or even manually assign an image to a particular cluster, instead of performing global reclustering every time a new pic is added. it would be a good way to compliment the AI tagging by adding a human-in-the-loop component

#

@marsh idol @radiant mauve is this something we can try implementing ?

clever latch
#

alright thanks for letting me know !

pine yacht
#

Hey @marsh idol !
I noticed that the top Nav Bar shifts / jitters whenever the gallery reloads or reaches the end of a page. I’ve raised a GitHub issue to track and stabilize the layout.
I’m also interested in adding a Pull-to-Refresh feature for the gallery to make manual refreshes smoother for users.
Issue link:
https://github.com/AOSSIE-Org/PictoPy/issues/969
I’d love to jump in and work on this, could someone please assign the issue to me if it’s available?

GitHub

Describe the feature The Issue: Right now, Folder Management in Settings is always expanded. When a user has many folders, they have to scroll all the way down just to reach other settings, which h...

marsh idol
#

https://docs.google.com/document/d/1yK9agOY1BAX0MRzvJNLapJ8AWZsGRfht7xyUFpD1DSw/edit?tab=t.h6ixc5qk0y85

Meet at 10PM IST, update your agendas here. I will only address the topics mentioned in this doc. Order will be decided based on the priority of the agenda

north lion
#

Normalizing image rendering.

fringe mirage
#

Hey everyone ,
I’m Kalpana. a final year BCA student. My main tech stack is MERN, Next.js, TypeScript, Tailwind CSS, and I’m also exploring AI/ML with Python.

I’ve recently started exploring PictoPy and set it up locally. While going through the project, I raised an issue around improving real-time folder sync with the filesystem.
🔗 Issue link: https://github.com/AOSSIE-Org/PictoPy/issues/968#issue-3785422101

I’d love to know if this issue is worth working on from a maintainer/mentor perspective, or if there are other areas in PictoPy where contributions would be more impactful. @marsh wyvern @marsh idol i kindly request you to review the issue and if it is aprpoved then assign me this issue.

Also, if anyone has suggestions for good first issues or high-impact features I could work on, I’d really appreciate the guidance.
Excited to learn and contribute more here.

GitHub

Summary Currently, when a folder is added to PictoPy, the images are indexed only once. Any changes made outside the application—such as adding new photos, deleting files, or renaming images using ...

#

Thanks for the review, sir 🙂

marsh idol
real gale
#

Is the meet link the same as last time?

north lion
wet lion
marsh idol
#

Yes

tall bone
#

I will be late sorry

marsh idol
#

The message with the links is always pinned, so it is easier to find it in the pinned messages.

bold estuary
real gale
#

Hi @marsh idol, just for the sake of doc-ing, my approach of fastapi/python based graceful shutdown is ready, it works on both windows and linux as of my checks.

https://github.com/rohan-pandeyy/PictoPy/releases/tag/v0.0.9-test-shutdown
Tested on this release...

Its completely alright if you want me to work with @distant thorn on the Rust based approach, but I'd like if you could give a moment and test this out on MacOS as well. All the "how it works", we had discussed in one of the previous meets, are the same, I had just polished after that meet's suggestion

clever latch
#

@marsh idol sir i wasn't able to attend the whole meet, just wanted to ask about a few issues that I have raised, whether I can try implementing them :

  1. Add a button to the AI Tagging Window to navigate to the Settings tab easily where the tagging feature can be enabled. (issue#925)
  2. Add a confirmation dialog for the Reclustering option in the settings. (issue#966)
  3. Allow user to choose the cover photo for a particular cluster, as right now, the first photo becomes cover
GitHub

Describe the feature 🌟 Feature Description I propose adding a "Configure Tagging" (or "Manage Folders") button to the header of the AI Tagging page. Currently, the AI Tagging pa...

GitHub

A desktop image gallery with a privacy-first approach. It detects objects and clusters faces. - AOSSIE-Org/PictoPy

north lion
#

@marsh idol

  1. Tried reusing tauriUtils as suggested by you, but it caused false positives in the web-only landing page, so I kept a local isTauri check to fix the scrollbar issue.
    PR - #941 More details in the PR
    Issue - #938

  2. PR updated: removed hard-coded navigation and switched to using the existing route constants.
    PR - #964
    Issue - #965

  3. Opened a PR for the Image Details exit animation fix (UI-only polish), waiting for review.
    PR - #978
    Issue - #972

obtuse hinge
#

Hi everyone,

I set up PictoPy on another laptop following the documented setup steps. The backend starts successfully and /health returns 200, but the Tauri app exits automatically with the error:

“Failed to connect to one or more local services. Exiting…”

After debugging, it looks like the app performs a startup health check and exits if any expected local service is unreachable. In my case, the backend is running, but it seems to be listening on a different port than what the frontend/Tauri expects, so the health check fails and the app exits by design.

Could you please confirm:

Which port(s) the backend is expected to run on during local development?

Whether there is a config/env variable that needs to be updated if the backend runs on a different port?

Happy to share logs or open an issue once confirmed. Thanks!

north lion
#

I explored running PictoPy using VS Code tasks to meet two main requirements.

Requirement 1: Display live logs for the backend, sync microservice, and Tauri frontend in separate terminals.
This is fully supported by VS Code tasks, with each service running in its own integrated terminal, which improves visibility and debugging.

Requirement 2: Automatically terminate all running services when the Tauri app is closed.
VS Code tasks do not support coordinated shutdown across dependent tasks, so this behavior cannot be reliably implemented within the integrated terminal.

The PowerShell runner achieves both requirements by managing process trees directly, which is not possible in VS Code’s task model. For this reason, both approaches are kept to balance log visibility and full lifecycle control.
@marsh idol

north lion
crude prismBOT
#

@north lion You are now level 7! :confetti_ball:

bold estuary
obtuse hinge
#

Thanks a lot everyone 🙏
The issue is resolved now.
It turned out the sync-microservice didn’t have its own virtual environment.
After creating a dedicated venv and installing the dependencies, everything is working as expected.

zealous owl
#

Hello 👋

I’m Puneeth, a Computer Science Engineering student from BMS College of Engineering, Bengaluru.
I recently set up PictoPy locally and got the frontend + backend running successfully.

My primary background is in React and JavaScript, and I’m starting to explore the FastAPI-based backend gradually. I’m excited to contribute to PictoPy and would love to begin with frontend or beginner-friendly issues.

Please let me know if there are any good first issues or areas where I can start contributing.
Thanks!

thorny otter
sinful pumice
#

Hello @marsh idol, I’ve opened PR #982 addressing this by centralizing SQLite connection handling and enabling WAL with a bounded timeout to reduce lock contention—happy to adjust based on feedback.
https://github.com/AOSSIE-Org/PictoPy/pull/982

GitHub

Problem
Intermittent SQLite concurrency issues (e.g. locked database errors) could occur under concurrent access and reload scenarios due to unsafe direct connections and missing timeout configurat...

north lion
#

@marsh idol
I made a few small docs navigation fixes:

  • the Overview section now properly lists Features and Architecture
  • the Setup section groups quick/manual/script guides under one expandable section
  • the Frontend links now match the actual existing docs.

I’ve opened an issue for this.,
Issue - #985

zealous owl
north lion
rough iris
#

Hi @marsh idol sir, I raised a feature request for adding a “Back to Top” button. If this is okay, please let me know and assign the issue to me. If there are any requirements , I’m happy to discuss and will wait for your confirmation before raising a PR.https://github.com/AOSSIE-Org/PictoPy/issues/979#issue-3786296691

GitHub

Describe the feature Currently, PictoPy has a side scrollbar that allows users to navigate between sections, which works well. However, to improve user convenience, especially on pages with many se...

tall bone
toxic temple
#

Hi everyone 👋

I am Sami, a 12th grader and i have some experience with full stack development. I went through the project and it seems very interesting, so from today, I'll be contributing alongside y'all.

Lets have a great time working together 🙂

worn basalt
#

Hi everyone,
I’m Sarabdeep Singh Bilkhu (GitHub: @SarabdeepSBilkhu), a student contributor.

I’ve set up PictoPy locally and gone through the codebase, tests, and documentation.
Looking forward to learning from the project and contributing to approved issues.

toxic temple
#

guys i wanted to test onboarding for a bug but there wasnt a simple way to reset the application state to go back to the onboarding page

#

i have added a delete user functionality

#

which is essentially resetting all the preferences, removing the folders and taking us back to the onboarding

#

i am opening an issue, the pr is ready and i fixed a validation error(if you dont select a folder during onboarding you will be met with validation error in the console) along the way.

#

@marsh idol please take a look

#

(i received a mention spam warning?!)

#
GitHub

Describe the feature It would be a good and handy feature to have a "Delete User" button in the settings. The idea is to let users completely wipe the slate clean, remove the profile, pre...

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? If I am not selecting a folder in the onboarding folder selection step, the console is throwing a validation ...

crude prismBOT
#

@toxic temple You are now level 2! :confetti_ball:

jagged marlin
#

Hi

fiery knoll
#

Hi, I’m Himani, a first year BTech in CSE student exploring open-source and currently learning by working on real projects. I’ve been going through PictoPy’s codebase, documentation and I've set up PictoPy locally, and I’m interested in contributing to small fixes and improvements while I understand the system better. Looking forward to learning from the project and contributing where I can.

winter marsh
#

Hi Everyone !! I'm Keerthana , a third year Student at Bangalore Institute of Technology. I would like to contribute on this project , I have already set up the Project locally. Aiming to give and get more from this Project . Thank you

winter marsh
#

I have opened an issue https://github.com/AOSSIE-Org/PictoPy/issues/995 . PictoPy has no gallery viewing option I think it would be better to add this feature for users convenience. And I would like to contribute on this issue . So @marsh idol Sir please confirm me before i proceed.

GitHub

Describe the feature Hey Mentor!! I'm seeing the feauters of the PictoPy. We can add a feature such that the users can select their view as we can see in traditional albums. Add ScreenShots A s...

jagged marlin
#

@junior moth Sir please confirm me before i proceed

north lion
#

Hi @marsh idol , I’ve opened a PR that adds WebP image support by extending backend validation and updating the UI text.
The fix is scoped to validation only (no ML or clustering changes).
Would really appreciate your review whenever you get time. Thanks!

GitHub

Closes #973
Summary
This PR adds official WebP image support to PictoPy by extending backend image validation.
Pillow already supports WebP decoding, so no changes were required to the image proces...

livid shuttle
#

Hi everyone! 👋 I'm new here and really excited to contribute to PictoPy.

I've just submitted my first PR (#997) which adds a collapsible "Folder Management" section to the Settings page. This helps declutter the UI, especially for users with many folders.

I'd really appreciate any feedback or reviews. Looking forward to being part of the community! Thanks!

north lion
#

@marsh idol I put together a contributor-focused project structure doc to make PictoPy easier to navigate for new contributors.
Shared it as a gist here for a quick review: Gist would love your feedback.

zenith violet
#

Hi @marsh idol , I’m Harsh Shah (2024 graduate), currently working as a web developer at Media.net. I recently set up Pictopy locally and am new to the project.

I opened Issue #977 regarding the performance problem in the /toggle-favourite endpoint. Currently, the endpoint calls db_get_all_images() and scans the entire images table just to determine the favourite status of a single image, which makes the operation O(n) and causes unnecessary memory usage. As the number of images grows, this will not scale well and can waste a lot of memory.

My proposed approach is to change this flow to query only the specific image by its ID and then toggle/update that value directly in the database, instead of loading all images into memory. This significantly reduce memory usage.

I wanted to check if I can proceed with this fix .

Thanks!

toxic temple
toxic temple
#

guys, i saw multiple bugs in onboarding and created an issue for it.

https://github.com/AOSSIE-Org/PictoPy/issues/999

(ik you are busy sorry for tagging you again @marsh idol )

(i needed the delete functionality #993 for fixing these)

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Onboarding section has multiple inconsistencies: validation error when folder is not selected (#994 ) layout ...

marsh wyvern
#

@marsh idol @radiant mauve , is there a demo video of PictoPy that I could look at?

wicked silo
#

@marsh idol Here is the zip folder of the sample photos I used.
regarding Issue: #915
PR: #914

marsh wyvern
#

@marsh idol @radiant mauve , here is how I manage my photos:

1 - I first organize the photos in folders based on events (e.g. "My Son's Birthday", "Christmas", ...).

2 - I also have some folders for photos that do not belong to any particular event (e.g. "Photos taken at Home", "Photos taken in the neighbourhood", ...)

3 - When all photos are in folders, at the end of the year, I go through each folder and select a few photos that I then copy to a "Screensaver" folder. (I have an old mac connected to my TV, and this Mac shows this screensaver photos in the TV.). My priority is to select photos where my family members appear. The more family members appear, the better.

If PictoPy allowed me to search photos that contain at least one person from a subset of people and allowed me to sort the photos by the number of people who appear in each photo, this would be very useful to me. (As far as I know, most photo management photos allow searching for photos that contain a single person, but not subsets of people, as I am suggesting.). This would be very helpful in step 3 of my workflow.

#

@marsh idol @radiant mauve , in PictoPy, are "albums" a concept that exist only in PictoPy's database? What is the relationship between folders and albums?

marsh idol
#

Each image id can be a part of multiple albums

#

The ID will be used as a reference to view the image from the actual folder location

marsh idol
marsh wyvern
#

Could we also store the "albuns" of a photo in the EXIF metadata of the photo somehow?

marsh idol
marsh wyvern
#

A long time ago, I used some photo management tools that stored all information in their own databases (I don't remember their names anymore). This made me trapped to using their software forever, even if the database was stored in my own computer. When the software didn't suit me anymore, all the tagging and classification information that I had constructed with it over time became useless. This is what led me to prefer to organize my fotos with folders (i.e. steps 1 and 2 of my workflow described above) instead of software-specific databases. (There is nothing more general and software-agnostic organization approach than using folders.)

EXIF metadata could be a good middle ground between using only folders and becoming locked in a software-specific database.

marsh idol
#

Or we can start some common standard under AOSSIE'S name that others could follow.

#

Like a new file format which just stores rhe metadata

marsh idol
marsh wyvern
marsh wyvern
#

Yes, I think something like this could help me with steps 1 and 2 of my workflow as well.

#

Generally, I think that, ideally, the source of truth should be EXIF metadata, and the database should be only a fast cache (that can be reconstructed by scanning all the photos and their EXIF metadata again, if necessary).

#

Another thing that would help me with steps 1 and 2 of my workflow would be using AI to sort photos by similarity (and not just to find faces).

For example, sometimes I have lots of "Christmas", "New Year" and "Home" photos taken at approximately the same time. In other words, I have lots of "Home" photos interleaved with photos of various events. It is a pain to sort them into folders, because of this chronological interleaving.

But my "Home" fotos all look very similar. So, it should be easy for an AI to group them by similarity and allow me to move them all in batch to a separate folder.

#

The AI could use not only a visual analysis of the photos, but could also cluster the photos by the dates they were taken.

This clustering by the date is different from simply separating fotos by day.

Sometimes multiple events happen in a single day. Sometimes a single event (e.g. vacation) happens over several days.

marsh idol
tall bone
# marsh wyvern <@691646844425469952> <@911188055078076446> , here is how I manage my photos: 1...

I have a fantastic idea for this, We could add a friends and family section where user can creates groups like family, school friends, college friends, etc. and upload photos of their friends and family with their names. Then we already have celebrity tagging, similar to that we can tag photos with names of the people and group they belong to appearing in that photograph. Further on clicking that person it will show all images in which that person appears. Same for group.

I am proposing two features (inspired by bruno's message)

  1. Advanced People Search & Sorting
  • User will upload single/multiple photos -> application will search all images for those people -> Group them under a name (given by user) -> sort the photos by number of matched people appearing
  • Use Case: Finding the best group photos for a screensaver where the goal is to see as many family members as possible.
  1. Friends and family feature
  • User will create groups like family, children, school friends, college friends, office, etc.
  • User will add members to a group (say family), he will upload images of members + their names
  • Application will automatically search and group all those images and tag them with the name of the person
  • User can see all photos of a member by cliking on his icon in the group
  • The group will also contain all pictures of all the members, might sort this on basis of date then number of people appearing
  • Give user option to create a folder for a group or member

WE CAN ALSO combine feature 1 into feature 2

#

@marsh idol I know current application has so many bugs but i am going to debug it real hard upcoming week using separate OSs (windows 11, mac, linux) and some tools to find performance bugs. I am just proposing these features for now, we can implement these in next to next week.

tall bone
# marsh wyvern A long time ago, I used some photo management tools that stored all information ...

Regarding EXIF metadata

  • We need to be carful not to corrupt the file
  • Use XMP (Extensible Metadata Platform): The industry standard (used by Adobe Lightroom, Apple Photos). It allows for rich tagging and hierarchical keywords.
  • Use PyExifTool library (as piexif doesnot support XMP) for write and read metadata
  • Will store all the tags in metadata
  • Use file first approach, update enteries of database if new file with metadata arrives
north lion
#
  1. Event Detection & Clustering

PictoPy will automatically group photos into event-like clusters using:

  • Scene-level visual embeddings (not face-based)
  • Temporal proximity with flexible time windows
  • Density-based clustering to support variable event durations
  1. Event Review & Folder Suggestions:

event_id, event_label, start_time, end_time

  • Detected event clusters are presented for review
  • Users can rename, merge, or split events
  • Entire event clusters can be moved into filesystem folders in a single action

Then we can also have , Event-Aware Search & Filtering, and not just People search, like we can add both the versions.

Once events are identified:

  • Users can search photos by event name
  • Filter events by time range or duration
  • Quickly retrieve all photos belonging to a specific event without navigating folders
north lion
tall bone
# marsh wyvern Another thing that would help me with steps 1 and 2 of my workflow would be usin...

This is a complex problem, we need to implement multi-stage solution for this.

We can implement this in PictoPy using a 3-stage process: Temporal → Visual → Semantic.

LOGIC

Step1: Adaptive time clustering (Calculate the time difference (delta t) between consecutive photos.)

  • If delta t > 5 hours, make an event boundary.

Step2: Visual Similarity clustering

  • Inside the "Dec 23-26" bucket, we convert every photo into a Visual Embedding
  • We run a clustering algorithm (like DBSCAN) on these vectors.
  • OR use OpenAI CLIP

Step3: Semantic Labelling

  • This solves your specific "Festival" requirement.
  • We check the date. If it's near Dec 25, we activate specific "Zero-Shot Classifiers" for Christmas.
  • We ask an AI model (CLIP): "Does this cluster look more like 'a Christmas Party' or 'a normal living room'?"

TECH STACK

  • OpenAI CLIP (completely free and open source) for step2 and step3
  • Might use Clustering algorithm like DBSCAN if OpenAI CLIP underperforms step2
#

@marsh idol I have created relevant issues for these feature requests.
i am going to focus on debugging first then we can come to these features if you approve

obtuse hatch
#

Hi @marsh idol , I was going through the album route tests and noticed that many of them patch internal database helper functions directly. I’ve created an issue to discuss refactoring the tests to focus on API behavior rather than implementation details, which should make the tests more maintainable and resilient to internal refactors. Here’s the link to the issue: https://github.com/AOSSIE-Org/PictoPy/issues/1007

Would love your thoughts on this.

zenith hound
livid shuttle
tall bone
#

Doing backend since 2021

crude prismBOT
#

@tall bone You are now level 9! :confetti_ball:

tall bone
tall bone
#

As it creates groups and "friends and family/ social circle" page is for groups

#

it support Zero-shot classification for christmas thingy and natural language search as well

#

But this modal is 10x heavy than the models we are currently using

#

I found a lighter version of CLIP called CLIP_ViT_B32_Quantized.onnx (90MB) trained by OpenAI and is open source and free

tall bone
#

Currently it is only based on OpenAI CLIP local model (size 154MB). Only Visual similarity clustering.

#

It has some deviations (like in the diwali section), i am working on that

livid shuttle
round ridge
#

hi i am new to this project i have try to learn how the pictopy is working through documentation and all

#

can i work on this issue #979 Suggestion: Add a floating “Back to Top” button for easier navigation?

#

can anyone help me what should i do? Can i start working on the issue?

hallow adder
distant thorn
tall bone
#

For this "smart event sorting", we might have to give user two options

  1. Sort based on event and time - for camera folder where photos arrive in real time
  2. Sort based on only event - for downloads or whatsapp folder, where date of photo is irrelevant
livid shuttle
#

Hi @marsh idol , I'd like to work on issue #852. Would you kindly assign it to me?

I've reviewed CONTRIBUTING.md and understand I should wait for the green light before opening a PR, so I wanted to check in first.

Also, just a quick follow-up: I previously submitted work for issues #969 and #992, but the PRs haven't been merged yet. If there's any feedback or changes needed on those, please let me know and I'll address them right away!

north lion
#

@marsh idol hey, will there be any meeting tonight

crude prismBOT
#

@north lion You are now level 8! :confetti_ball:

worldly mirage
#

Hey guys I am new to the community. My name is Deep Shekhar Singh and I find this project interesting and aligned to my knowledge. I hope to learn a lot and add some value to the project !!

tall bone
#

Hey @marsh idol I am doing robust testing and debugging of pictopy, till now i have found about 13 frontend issues and 1 backend issue. I will continue debugging and will update you

tall bone
#

I tested it with pyright and have found around 63 type mismatches

west trench
final vessel
#

Hi @tall bone and @marsh idol 👋

I’ve reproduced this issue #1017 locally and have been working on it.
Both actions described in the issue now behave as expected in my local setup.

I haven’t opened a PR yet, in line with the project guidelines.
Please let me know if you’d like me to proceed with a PR or if there’s any preferred direction before that.

Thanks!

tall bone
#

I appreciate your work @final vessel but I am already working on the issues i found. You may try to find some other bugs yourself and then solve them

#

Try to test backend with edge cases there might be some bugs

final vessel
#

@tall bone i have already solved the issue locally , but i didn't noticed that you want to work on this issue on your own until i rechecked.

tall bone
#

Ok no worries keep care now, let Rahul decide who should make a PR

foggy trench
#

@knotty shore @bitter wind @unique grove Hey everyone! Just got PictoPy running locally. I was digging through face_clusters.py and noticed the DBSCAN logic re-processes the entire dataset every time. That seems like a pretty big OOM risk for large libraries (saw Issue #810 mentions this too).

Since there aren't any active PRs for it yet, I was thinking of mocking up a POC for 'Incremental Clustering'—basically just checking new faces against existing centroids to save memory. Is anyone else looking into this right now, or should I give it a shot?

livid shuttle
#

Hi @bitter wind @knotty shore ike to work on issue #852. Would you kindly assign it to me?

I've reviewed CONTRIBUTING.md and understand I should wait for the green light before opening a PR, so I wanted to check in first.

Also, just a quick follow-up: I previously submitted work for issues #969 and #992, but the PRs haven't been merged yet. If there's any feedback or changes needed on those, please let me know and I'll address them right away!

knotty shore
#

@marsh idol ☝️

round ridge
#

i would like to work on this issue #1033. Can i get assigned to it?

west trench
lavish karma
foggy trench
#

Hi team! 👋

I just submitted a fix for the Watcher service crashing permanently on exceptions (#1032).

I refactored the logic to use a Producer-Consumer pattern with a supervisor loop, so the service now handles threading safely and self-heals after network errors or timeouts.

Would love some feedback when you have time!
PR: https://github.com/AOSSIE-Org/PictoPy/pull/1037

GitHub

Fixes #1032
Description
This PR addresses the fragility of the watcher service where unhandled exceptions (e.g., network timeouts or logic errors) caused the entire service to crash permanently.
Ch...

dapper atlas
#

Hey , i have a question about this project , is this project going to be running project for GSOC 2026 or is it going to be closed??

wet lion
zealous owl
#

Hey everyone, I’ve opened a PR that solves issue #1020 (white flash and app reload when clicking the logo or profile in the Navbar).

The fix switches the navigation to router-based links and is linked to the issue.
PR: #1039

Would be great if someone could review it when free. Thanks!
PR:https://github.com/AOSSIE-Org/PictoPy/pull/1039

GitHub

This PR fixes the white flash and full app reload that occur when navigating using the Navbar.
Previously, clicking the app logo or the profile/avatar icon triggered a full page reload, which cause...

bold estuary
zealous owl
bold estuary
bold estuary
tall bone
#

@everyone I have opened about 20 issues regarding bugs in pictopy library. I am strictly informing all contributors to not submit a PR to issues created by others unless assigned to you. Also don't ask me to assign those to you, i am not a mentor.

zealous owl
# bold estuary https://github.com/AOSSIE-Org/PictoPy/pull/637

Thanks for sharing. I checked PR #637 and also found PR #917.
Both address the same issue, but they are larger in scope and still have some failing checks. My PR focuses only on the navbar navigation reload with a minimal change. Happy to go with whatever the maintainers decide.

tall bone
#

@marsh idol are you able to have some free time, it would be great if we could have those weekly meets continued

bold estuary
crude prismBOT
#

@bold estuary You are now level 3! :confetti_ball:

real gale
livid shuttle
#
GitHub

Describe the feature Description Currently, PictoPy reliably supports common image formats like .jpg, .jpeg, and .png, but several widely used image formats are not fully supported or handled consi...

GitHub

Describe the feature Is there an existing issue for this? I have searched the existing issues Feature Description Currently, PictoPy only supports .jpg, .jpeg, and .png image formats. Modern photo ...

marsh idol
#

Hi guys

#

Really sorry for being inactive.

bold estuary
#

Finally the mentor is herecool_doge

marsh idol
#

I am busy with shifting to a new city for my internship and I will be able to reply to you all within few days. I hope you understand 🥲

It has been stressful few days due to shifting.

north lion
livid shuttle
#

It's been 3 weeks since issue #852 was opened with no update from @frosty sundial , so I solved it. If the mentors assign it to me, I'll raise a PR

@marsh idol @knotty shore

crude prismBOT
#

@livid shuttle You are now level 2! :confetti_ball:

north lion
livid shuttle
north lion
sinful pumice
sinful pumice
#

Thanks!

#

Where do these meets happen btw

wet lion
#

Google meets

#

The link will be shared once the meeting date is closer.

sinful pumice
#

In this discord channel?

wet lion
#

Yes

sinful pumice
#

Rahul you've been a great help, thanks

wet lion
#

Wlc

wet lion
zenith violet
#

When is the weekly meeting held?

crude prismBOT
#

@sinful pumice You are now level 2! :confetti_ball:

tall bone
#

Weekly meetings are held on google meet. Mentor rahulharpal usually inform us some days prior

zenith violet
tall bone
#

Yes

main jay
#

Hello evryone! ive setup pictoPy on my device and able to run it now can anyone guide how do i go about if i want to contribute

#

like ive a feature in mind what do i do to add it??

#

i am pretty new to open source sorry!!

zenith violet
livid shuttle
# north lion there's already a PR [#996](<https://github.com/AOSSIE-Org/PictoPy/pull/996>), i...

Thanks for pointing that out! I checked PR #996, allowing WebP is great, but my implementation is a complete overhaul that solves #1022 (SVG, AVIF, JXL, BMP, PSD) and #852 (Modern formats) in one go.

Crucially, I updated the backend to handle these files. Since the frontend web view can't natively display formats like HEIC or PSD.
I implemented everything except .exr( I figuring out for .exr)
I'd like to open a new PR for this. I'm ready to push it now if that works for you.

north lion
main jay
crude prismBOT
#

@main jay You are now level 2! :confetti_ball:

kindred bear
#

Hi, I’m Pranjali Bhardwaj, a final-year CSE student. I’ve made a few contributions to InPactAI and would be excited to explore more AOSSIE projects. Looking forward to learning and collaborating with you all.

toxic temple
#

Hi everyone, just a small follow up, I had submitted 2 issues and 1 feature request:
here are the links 🙂
https://github.com/AOSSIE-Org/PictoPy/issues/994
https://github.com/AOSSIE-Org/PictoPy/issues/999
https://github.com/AOSSIE-Org/PictoPy/issues/993

looking forward to the meeting on 17th

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? If I am not selecting a folder in the onboarding folder selection step, the console is throwing a validation ...

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Onboarding section has multiple inconsistencies: validation error when folder is not selected (#994 ) layout ...

GitHub

Describe the feature It would be a good and handy feature to have a "Delete User" button in the settings. The idea is to let users completely wipe the slate clean, remove the profile, pre...

livid shuttle
#

I have many same similar and duplicate issues while scrolling

#

issues like 1030, 1022, 973, and 852.

#

White/Flash Screen Problems 1020 and 636

#

Image Deletion - 1044 and 795

#

Open Folder/File Buttons - 1017, 959, and 688

#

Silent Failures - 710 and 709

crude prismBOT
#

@livid shuttle You are now level 3! :confetti_ball:

livid shuttle
#

Database & Threading - 943, 936, and 824

#

Sync Service - 1034, 1033, 1032, and 1031

#

Settings Page Lag - 876 and 612

#

Face Clustering - 961, 915, 810, and 350

#

Text Search - 902 and 661

#

Favourite Toggle Bug - 977 and 805

#

Navigation Bar - 988, 856, and 962

#

Scrollbar Problems - 1019 and 938

tall bone
#

@marsh idol When will be our next meet??

half bane
#

Hello everyone! I’m Ata Ul Hai, a first-year CSE student. I’ve been exploring the AOSSIE ecosystem and am very interested in contributing to PictoPy.

I have already studied the official contributing guidelines, but I wanted to check if there are any other community-specific norms or additional documentation I should be aware of before I get started

Looking forward to working with the community and making some meaningful contributions

young torrent
half bane
# young torrent Fork and clone the repo locally, run it, and start with solving simple issues to...

Thank you for the guidance! That makes perfect sense.

If I encounter any bugs, I'll be sure to discuss them here in the channel first with my findings before taking any further steps. Looking forward to making my first contribution

One quick follow-up: once I have a fix ready for a minor UI/UX issue or a bug, would you prefer I submit a Draft PR for initial feedback, or should I go straight to a Full PR once I've tested it locally?

young torrent
crude prismBOT
#

@young torrent You are now level 7! :confetti_ball:

chilly wren
# main jay https://github.com/AOSSIE-Org/PictoPy/issues/1042#issue-3816282575 I have opene...

Fork the repo, Add upstream and then setup the project. After that make your changes and push it to your forked repo. This will help you to create a PR (Pull request). Follow the PR format of AOSSIE and open a new PR for the issue you raised.

Although i would suggest you to get yourself familiar with the project first. Because opening issues for small additions will lead to an overflow of open issues.

I would suggest you tinker with the project find pain points and open a good issue targeting crucial improvements.

crude prismBOT
#

@chilly wren You are now level 2! :confetti_ball:

chilly wren
#

Hello folks!

I noticed a lot of new contributors were facing problem with the project setup and with contributions, so i built a platform tailored for PictoPy which can help you get started.

Also i have included a frontend preview for the app so users can tinker with the project firsthand before setting it up.

Here's the web app- https://pictopyhub.vercel.app/

marble hamlet
#

@marsh idol Kindly review my PR #916 and let me know if you find any issues.

zenith violet
#

Is there a meet today?

narrow tendon
#

@real gale any updates regarding today's meet ?

marsh idol
#

No meet today

hollow quiver
#

Hi, I am Nikhil Gupta, pre final year CSE student. Looking forward to collaborating with you all

hollow quiver
#

thankyou sir

#

I was trying to setup the project on my local environment but kept getting this error, even though the backend is working, I followed the steps here https://pictopyhub.vercel.app/

hollow quiver
#

yes

#

should i send image or the copy of the logs?

#

terminal 1

#

terminal 2

#

terminal 3

distant thorn
wet lion
#

could you share SS with your dev tool

hollow quiver
crude prismBOT
#

@hollow quiver You are now level 2! :confetti_ball:

north lion
wet lion
#

like this

north lion
north lion
#

logs shows the sync microservice was manually interrupted

wet lion
#

good observed

north lion
#

🙂 that is manually done, rerun the microservice and the frontend will work normally imo?

wet lion
hollow quiver
#

no i did not press ctrl+c, i've tried it a bunch of times, the same thing keeps on happening

north lion
#

or like any screen recorder

hollow quiver
#

yes

wet lion
#

yeah, that will be helpful

north lion
#

that would help us understand what's actually happening

wet lion
#

more when you can share ss of dev tool

north lion
#

this is expected

wet lion
#

as you don't have any specific folder for pictopy to works on with sync-service

hollow quiver
crude prismBOT
#

@north lion You are now level 9! :confetti_ball:

wet lion
#

like this

#

ss of console

hollow quiver
#

ohh okk

#

yeah

north lion
#

I was checking what npm run setup actually does and traced it to scripts/setup.js.
The script explicitly handles only:
Windows (win32) via setup.ps1
Debian-based Linux via setup.sh
macOS (darwin) isn’t handled and the script exits with “Unsupported operating system”.

wet lion
#

are you using manual setup or script-based setup? @hollow quiver

hollow quiver
#

yeah

north lion
#

I'd suggest you to get through manual setup from the start, I can help you with it

hollow quiver
#

ok

#

so which step should i start from

#

this one?

north lion
#

okay so, redo everything from start, cuz if the setup is broken then some internal features might as well break

north lion
hollow quiver
crude prismBOT
#

@hollow quiver You are now level 3! :confetti_ball:

north lion
hollow quiver
#

okay

north lion
#

clone it from your fork

hollow quiver
#

ok

north lion
#
cd PictoPy```
hollow quiver
#

ohh i am using github desktop 😁

north lion
#
cd backend
python3.12 -m venv .env
source .env/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
uvicorn main:app --host 127.0.0.1 --port 52123
#

do these for backend

#

after running backend, go to another terminal

#
cd sync-microservice
python3.12 -m venv .sync-env
source .sync-env/bin/activate
python -m pip install --upgrade pip
pip install -r requirements.txt
uvicorn main:app --host 127.0.0.1 --port 52124

run the microservice, open new terminal for frontend

hollow quiver
#

okk

north lion
#
cd frontend
npm install
npm run tauri dev
#

then frontend

#

if you want more details,
.github\workflows\build-and-release.yml
can check this

hollow quiver
#

the cloning hasn't ended

north lion
#

its normal

hollow quiver
#

okay, thankyou very much😁

north lion
#

lmk if you get stuck

hollow quiver
#

yeah👍

wet lion
#

are you done with it?? @hollow quiver

hollow quiver
#

downloading the requirements

wet lion
hollow quiver
#

yeah, i am still facing the same issue

north lion
hollow quiver
#

same error, I don't know why, I followed each and every step from the start

crude prismBOT
#

@hollow quiver You are now level 4! :confetti_ball:

hollow quiver
#

I will retry in the morning

#

all the requirements are installed, i don't know why it shows error for that

#

i get this error when i try to reinstall the requirements

north lion
#

What it does:

  • Starts the backend and sync microservice in the background using their respective virtual environments
  • Launches npm run tauri dev as the main process
  • Streams logs from all services into a single terminal
  • Automatically shuts down backend and sync when the Tauri process exits
  • Fails fast if either backend or sync crashes
  • Reduces log noise by collapsing repeated log lines (e.g. status polling)

Why I made it:

  • On Windows, running PictoPy currently requires multiple terminals
  • Backend and sync keep running even after closing Tauri
  • This provides a cleaner dev workflow and avoids orphaned processes/ports
#

@marsh idol would love to know the feedback on this

distant thorn
real gale
distant thorn
real gale
#

Wait what

#

Why

distant thorn
#

but need some manual work

#

nvm

novel lantern
#

it is necessary to get issues assigned by mentors before raising any pr. i couldn't find any instructions related to this in the contributing.md