www.chriscoffee.com: quality & service, second to none

Roasting Profiles Database

Discuss roast levels and profiles for espresso, equipment for roasting coffee.

Link to "Roasting Profiles Database"by NebuK on Sun Jan 06, 2008 10:00 am

Hello World,

if anyone is interested, i developed a roasting profiles database. you can add beans, build blends and then capture (aka enter) profile data while roasting. its still alpha, or maybe pre-beta and not fully functional yet. but i'd really like some feedback on what could be missing and whether the input concepts are suited for roasting (e.g. you have to concentrate on the beans and only secondary enter the data...).

some ideas what could be cool additional features:
- "reroast profile", you get displayed the old profile (current temp, target temp) and have to enter only the new current temp and get plotted a "differences" graph
- cupping profiles for beans, blends and roasts instead of only description fields
- "tree sorting" of profiles, you have a top profile, can flap it open and see all the "reroasts" of this profile

The main problem currently is that i wasnt able to test this on windows yet. If anyone could try and see what windows packages one needs, that would be really nice! The dependencies are:
python, numeric python, qt (4.3), python-qt, qwt5-qt4, python-qwt5-qt4, sqlobject

the program is available via subversion on svn://ghostdub.de/roasterbase or websvn: http://websvn.ghostdub.de/listing...base&path=%2F&sc=0

thanks in advance for trying ;p
- Dario
NebuK
 
Posts: 30
Joined: Nov 25, 2007
Location: Germany

Link to "Roasting Profiles Database"by jrfuda on Sun Jan 06, 2008 12:23 pm

I'm working on getting it working right now - never used python before (used java, perl, vbscript). My internet connection is REALLY slow, so it's taking me a while to get all the requisite packages downloaded... I'm still waiting for qt 4.3 to download, which at 70 MB is taking forever with my connection (10-15 kbps due to my location at the time).

So far, this is what I've installed for Windows XP. Install in the order listed!:

I'm still having a problem getting this one installed and working. Follow the directions on the link; it downloads a python installer script and is supposed to download the appropriate package for your OS, but I cannot find the package it downloads!

I'm anticipating that's all it will take. Give me 24 hours; I'll confirm and post feedback.

Thanks a ton for putting this together!
User avatar
jrfuda
 
Posts: 23
Joined: Dec 05, 2007
Location: San Antonio, TX (temporarily displaced from NC)
espresso machines at 1st-line.com
espresso machines at 1st-line.com

Link to "Roasting Profiles Database"by NebuK on Sun Jan 06, 2008 1:40 pm

Wow, you're really putting effort into this! Thanks alot! i'll work a bit more on the code so it won't disappoint you once you get it running.

once i get xen with windows to run on my box again i can also try and build a windows package for it, but it will be a while until then. sorry!
NebuK
 
Posts: 30
Joined: Nov 25, 2007
Location: Germany

Link to "Roasting Profiles Database"by NebuK on Sun Jan 06, 2008 7:26 pm

Okay, fixed the few obvious plot bugs, added the flags for 1st / 2nd crack i had forgotten, added editor for the graph data i captured, and added a export function for the graph.

now i'd be really interested in your comments, bugreports and ideas on the tool.

thanks in advance
- daroi
NebuK
 
Posts: 30
Joined: Nov 25, 2007
Location: Germany

Link to "Roasting Profiles Database"by jrfuda on Mon Jan 07, 2008 1:58 am

Having trouble so far, getting this error:
Table:
    exec codeObject in __main__.__dict__
  File "C:\Python25\trunk\main.py", line 14, in <module>
    from Numeric import arange
ImportError: No module named Numeric

I'll boot into Ubuntu and try it from there, see if it works any better.
User avatar
jrfuda
 
Posts: 23
Joined: Dec 05, 2007
Location: San Antonio, TX (temporarily displaced from NC)

Link to "Roasting Profiles Database"by jrfuda on Mon Jan 07, 2008 2:59 am

I fixed the previous error in Windows by copying:

numeric.py
numerictypes.py
fromnumeric.py
arrayprint.py
umath.pyd
multiarray.pyd

to the /trunk folder

Now I'm getting these errors:

Table:
    exec codeObject in __main__.__dict__
  File "C:\Python25\trunk\main.py", line 428, in <module>
    connection = connectionForURI('sqlite://'+db_filename)
  File "C:\Python25\lib\site-packages\sqlobject-0.9.2-py2.5.egg\sqlobject\dbconnection.py", line 1079, in connectionForURI
    conn = self.schemeBuilders[scheme]().connectionFromURI(uri)
  File "C:\Python25\lib\site-packages\sqlobject-0.9.2-py2.5.egg\sqlobject\sqlite\sqliteconnection.py", line 101, in connectionFromURI
    user, password, host, port, path, args = cls._parseURI(uri)
  File "C:\Python25\lib\site-packages\sqlobject-0.9.2-py2.5.egg\sqlobject\dbconnection.py", line 136, in _parseURI
    raise ValueError, "port must be integer, got '%s' instead" % port
ValueError: port must be integer, got '\Python25\trunk\data.db' instead


This is with the previous build. The newest one is asking for a module called "edit" that I cannot find.
User avatar
jrfuda
 
Posts: 23
Joined: Dec 05, 2007
Location: San Antonio, TX (temporarily displaced from NC)

Link to "Roasting Profiles Database"by jrfuda on Mon Jan 07, 2008 3:20 am

I removed the previous version of sql lite and installed a different one from sourceforge

Now my error looks like this:
Table:
    exec codeObject in __main__.__dict__
  File "C:\Python25\trunk\main.py", line 428, in <module>
    connection = connectionForURI('sqlite://'+db_filename)
  File "C:\Python25\Lib\site-packages\sqlobject\dbconnection.py", line 658, in connectionForURI
    conn = self.schemeBuilders[scheme]().connectionFromURI(uri)
  File "C:\Python25\Lib\site-packages\sqlobject\sqlite\sqliteconnection.py", line 26, in connectionFromURI
    assert host is None, "SQLite can only be used locally (with a URI like sqlite:///file or sql:/file, not %r)" % uri
AssertionError: SQLite can only be used locally (with a URI like sqlite:///file or sql:/file, not 'sqlite://C:\\Python25\\trunk\\data.db')


Is there a way to remove the c:\\.. form the data.db reference so it will be in the right context?
User avatar
jrfuda
 
Posts: 23
Joined: Dec 05, 2007
Location: San Antonio, TX (temporarily displaced from NC)

Link to "Roasting Profiles Database"by NebuK on Mon Jan 07, 2008 5:30 am

update the svn rep and try again. if it doesnt work you maybe want to look around line 620 in main.py and modify the url a bit more. it seems that sqlite needs sqlite://C|/foo/bar.

greetings
- dario
NebuK
 
Posts: 30
Joined: Nov 25, 2007
Location: Germany

Link to "Roasting Profiles Database"by jrfuda on Mon Jan 07, 2008 5:55 am

Just a note - when I try to download via SVN, I'm prompted for a password (using Tortoise SVN for Windows). I've been getting it via the web and downloading the tarball. I'll get the latest and give it a try.
User avatar
jrfuda
 
Posts: 23
Joined: Dec 05, 2007
Location: San Antonio, TX (temporarily displaced from NC)

Link to "Roasting Profiles Database"by NebuK on Mon Jan 07, 2008 6:12 am

Oh, sorry - seems like i forgot to enable anonymous readonly. sorry!
NebuK
 
Posts: 30
Joined: Nov 25, 2007
Location: Germany

Link to "Roasting Profiles Database"by jrfuda on Mon Jan 07, 2008 6:21 am

SVN's working now.

Now I'm having trouble rounding-up all the dependencies/modules.

Did you code this on a Mac or Linux? It looks like the version of edit.py I've found is looking for a mac.py module, which looks like it uses applescript.
User avatar
jrfuda
 
Posts: 23
Joined: Dec 05, 2007
Location: San Antonio, TX (temporarily displaced from NC)

Link to "Roasting Profiles Database"by NebuK on Mon Jan 07, 2008 6:49 am

I Code on GNU/Linux, namely Debian.

the edit.py in my sourcedir/trunk is not even hand-written, its autogenerated via pyuic from ui/edit.ui (a qt-designer file).

the thing with the dependencies is really evil on windows. from what i found these packages are nesecarry:
http://python.org/ftp/python/2.5.1/python-2.5.1.msi
http://qt-win-binaries.googlecode.com/svn/tags/Qt-4.3.3-dev-msvc2005e-rs.7z
http://www.riverbankcomputing.com/Downloads/PyQt4/GPL/PyQt-win-gpl-4.3.3.zip
SourceForge.net: Downloading ...
http://www.sqlite.org/sqlite-3_5_4.zip
http://initd.org/pub/software/pysqlite/releases/2.4/2.4.0/pysqlite-2.4.0.win32-py2.5.exe

now its getting a bit tricky
http://pypi.python.org/packages/2.5/S/SQLObject/SQLObject-0.9.2-py2.5.egg#md5=010c19d9485e8b07641b2e5e124f8615
http://peak.telecommunity.com/dist/ez_setup.py
first start ez_setup.py then do "easy_setup SQLObject" in the same dir as SQLObject-0.9.2-py2.5.egg lies...

hope this helped a bit. note that i still have no windows for testing. sorry! :/
NebuK
 
Posts: 30
Joined: Nov 25, 2007
Location: Germany

Link to "Roasting Profiles Database"by jrfuda on Mon Jan 07, 2008 7:14 am

NebuK wrote:the edit.py in my sourcedir/trunk is not even hand-written, its auto generated via pyuic from ui/edit.ui (a qt-designer file).

Where's the edit.ui file? From the SVN I'm not getting a edit.ui
User avatar
jrfuda
 
Posts: 23
Joined: Dec 05, 2007
Location: San Antonio, TX (temporarily displaced from NC)

Link to "Roasting Profiles Database"by NebuK on Mon Jan 07, 2008 7:45 am

yeah, i forgot to add it :/. sorry!

however, i just built a py2exe version - check here:
http://websvn.ghostdub.de/dl.php?...n%2F&rev=0&isdir=1

and let me know if it works...
NebuK
 
Posts: 30
Joined: Nov 25, 2007
Location: Germany

Link to "Roasting Profiles Database"by jrfuda on Mon Jan 07, 2008 8:57 am

Woo hoo!

\trunk\roasterbase-win\main.exe worked right out of the box. Looks like you have a working Windows version!

Now to start the testing!
User avatar
jrfuda
 
Posts: 23
Joined: Dec 05, 2007
Location: San Antonio, TX (temporarily displaced from NC)
www.wholelattelove.com: our caffeinated commitment to you
www.wholelattelove.com: our caffeinated commitment to you

Link to "Roasting Profiles Database"by jrfuda on Mon Jan 07, 2008 9:17 am

It's working. I got each of the tabs to work - beans, blends and profiles.

I'm guessing you set it up to presume temperature is in celcius, since you set an upper limit of 199 for manual entry, and 270 using the scroll buttons. Can you change this since some of us use Fahrenheit - so we can manually enter values of up to 470 or so with the keyboard?

Other than that, it looks like you've put together a good little tool here, and the windows version looks like it will be a "plug and play" install for everyone.... soon the home roasting forums will be full of graphs from your program!
User avatar
jrfuda
 
Posts: 23
Joined: Dec 05, 2007
Location: San Antonio, TX (temporarily displaced from NC)

Link to "Roasting Profiles Database"by NebuK on Mon Jan 07, 2008 9:35 am

done ;P.

the upper limit of both, the jog wheel and the spinbox is 470 - and the graphs height autofits now...

what else would ne nice to include? how do you like the 'one profile can have variouse roasts' or 'display roasting instructions and not capture data' ideas?
NebuK
 
Posts: 30
Joined: Nov 25, 2007
Location: Germany

Link to "Roasting Profiles Database"by jrfuda on Mon Jan 07, 2008 10:42 am

I've got the latest build downloading now.

Here are some thoughts for added features:

- A place to specify the roaster (could just be added in notes, though)
- Dates: when a bean was purchased and when a roast/profile was completed
- A way to specify units so it will be easy to go from F to C or vice versa

I'm still playing with it. Thanks again!
User avatar
jrfuda
 
Posts: 23
Joined: Dec 05, 2007
Location: San Antonio, TX (temporarily displaced from NC)

Link to "Roasting Profiles Database"by jrfuda on Mon Jan 07, 2008 10:46 am

Problem with the latest build.... "main.exe is not a valid win32 application"
User avatar
jrfuda
 
Posts: 23
Joined: Dec 05, 2007
Location: San Antonio, TX (temporarily displaced from NC)

Link to "Roasting Profiles Database"by NebuK on Mon Jan 07, 2008 1:13 pm

Heho,

that was my fault, i experimented with py2exe on wine so i wouldnt have to reboot all the time.
NebuK
 
Posts: 30
Joined: Nov 25, 2007
Location: Germany

Next

Return to Home Roasting