On Fri, 28 Jan 2022 14:31:20 -0700, Cousin Stanley <hoodun...@didly42kahzidly.net> declaimed the following:
>Dennis Lee Bieber wrote: > >> Ignoring the code spam I presume <G> >> .... > > I'm an sqlite user myself and was glad to see > the code you posted and have a couple of tiny example > book/author sql3 databases but nothing resembling > an actual library check in/out program .... > I'd modify the database significantly for library usage -- among other things I'd remove the "Copy" table; if the library has multiple copies of a book, it would have multiple entries at the "Book" level. There would also be fields for short description, genre/category, maybe shelving. The impression I got from the OPs assorted (and rather vague) posts is something closer to school classrooms issuing books to students (vs college level where students have to buy them, which implies no need to track who and when), so having massive amounts of textbooks in various conditions. The separate reservation/checkout is something I inferred, and is really a strange concept -- at least when I was in school, the textbooks were distributed by the instructor on the first day of class, and collected at the end of the course. Say a small high-school; 600 students -> 150 each 9th, 10th, 11th, 12th grade. 30 students per class (on the high side, yes), makes five sessions in the day... and, of course, means 150 copies of a text book. Reality may not be quite that bad as some courses are electives or have options (foreign language: French, German, Italian, Spanish -- probably few take Italian, so maybe only 30-60 books, etc.). > I've never used PySimpleGUI > but it does look interesting .... > I'm not sure how I stumbled upon it... I think the older ActiveState Python I have installed was one of those "include everything that doesn't cause a conflict" configurations, with tons of 3rd-party packages... And I just saw the name in a package list. I had considered doing just a console application with curses but... Windows makes curses difficult to even get installed. PySimpleGUI's explicit event dispatch loops made ad-hoc forms simpler to implement over having one master implicit event loop (app.run() or similar). The alternative would have been using Flask or Django (and configuring my Raspberry-Pi nginx server for them -- right now it just serves static web pages) > After you complete your BookDepository DataBase development > perhaps you would consider making it publically available > for others to learn from .... Unlikely -- I'd have to put in a lot more documentation to explain my choices and design choices (I'm NOT using SQLAlchemy -- as I'd stated some posts ago, it just confuses me; instead I'm coding explicit SQL and cursor processing). The GUI is quick&dirty -- there is no doubt much that even PySimpleGUI can do that I've not delved into (I really would prefer the documentation to be available in PDF format, so I could print it in booklet form and read while away from the computer). There are a number of library management systems written in Python already (though I encountered one site that only had two chapters in place -- about enough to install Python and packages [chapter 1] and do a "hello-world" [chapter 2] -- and nothing else). https://data-flair.training/blogs/library-management-system-python-project/ Tkinter and MySQL (I don't like Tkinter) https://techvidvan.com/tutorials/python-library-management-system/ Django (assumes school library "addstudent" function) https://rrtutors.com/tutorials/python-library-management-system-project MySQL, console (Some things I'd improve -- they used a chain of IF statements to process menu input where a dictionary look-up would be shorter and easier to modify) https://itsourcecode.com/free-projects/python-projects/library-management-system-project-in-python-and-mysql/ MySQL and Tkinter (Another "school" focused example -- users are "students") Many of them use quite a simplified schema... Storing publishers and authors directly within the Book record -- which means the possibility for typos from one book to another, etc. I'd pull those out into separate tables and link via foreign keys. -- Wulfraed Dennis Lee Bieber AF6VN wlfr...@ix.netcom.com http://wlfraed.microdiversity.freeddns.org/ -- https://mail.python.org/mailman/listinfo/python-list