What to write or search on github to get the code for what is written below:

Dennis Lee Bieber wlfraed at ix.netcom.com
Sat Jan 29 12:02:36 EST 2022


On Fri, 28 Jan 2022 14:31:20 -0700, Cousin Stanley
<HooDunnit at 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
	wlfraed at ix.netcom.com    http://wlfraed.microdiversity.freeddns.org/


More information about the Python-list mailing list