Tuesday, August 15, 2006

Cheesecake 0.6 released

Thanks to Michał's hard work, we released Cheesecake 0.6 today. The easiest way to install it is via easy_install: sudo easy_install Cheesecake

Update: Please report bugs to the cheesecake-users mailing list.

Here's what you get if you run cheesecake_index on Cheesecake itself:

$ cheesecake_index -n cheesecake
py_pi_download ......................... 50 (downloaded package cheesecake-0.6.tar.gz directly from the Cheese Shop)
unpack ................................. 25 (package unpacked successfully)
unpack_dir ............................. 15 (unpack directory is cheesecake-0.6 as expected)
setup.py ............................... 25 (setup.py found)
install ................................ 50 (package installed in /tmp/cheesecakeNyfM4f/tmp_install_cheesecake-0.6)
generated_files ........................ 0 (0 .pyc and 0 .pyo files found)
---------------------------------------------
INSTALLABILITY INDEX (ABSOLUTE) ........ 165
INSTALLABILITY INDEX (RELATIVE) ........ 100 (165 out of a maximum of 165 points is 100%)

required_files ......................... 180 (6 files and 2 required directories found)
docstrings ............................. 63 (found 17/27=62.96% objects with docstrings)
formatted_docstrings ................... 0 (found 2/27=7.41% objects with formatted docstrings)
---------------------------------------------
DOCUMENTATION INDEX (ABSOLUTE) ......... 243
DOCUMENTATION INDEX (RELATIVE) ......... 70 (243 out of a maximum of 350 points is 70%)

pylint ................................. 36 (pylint score was 7.01 out of 10)
unit_tested ............................ 30 (has unit tests)
---------------------------------------------
CODE KWALITEE INDEX (ABSOLUTE) ......... 66
CODE KWALITEE INDEX (RELATIVE) ......... 83 (66 out of a maximum of 80 points is 83%)


=============================================
OVERALL CHEESECAKE INDEX (ABSOLUTE) .... 474
OVERALL CHEESECAKE INDEX (RELATIVE) .... 79 (474 out of a maximum of 595 points is 79%)

For a detailed explanation of how the scoring is done, see the main Wiki page, and/or run cheesecake_index in --verbose mode.

Stay tuned for a cool case study on improving a package using the Cheesecake guidelines, courtesy of Will Guaraldi.

2 comments:

Max Ischenko said...

How one should/could report bugs?

E.g. it doesn't list "pylint" as a prerequisite and as a result, attempt to run it gives the following weird traceback:

D:\Projects\Spaca>cheesecake_index --path=.
Traceback (most recent call last):
File "C:\Python24\Scripts\cheesecake_index-script.py", line 7, in ?
sys.exit(
File "c:\python24\lib\site-packages\Cheesecake-0.6-py2.4.egg\cheesecake\cheesecake_index.py", line 1746, in main
keep_log=keep_log)
File "c:\python24\lib\site-packages\Cheesecake-0.6-py2.4.egg\cheesecake\cheesecake_index.py", line 1241, in __init__
self.index.decide_before_download(self)
File "c:\python24\lib\site-packages\Cheesecake-0.6-py2.4.egg\cheesecake\cheesecake_index.py", line 474, in decide_before_download
return self.decide(cheesecake, 'before_download')
File "c:\python24\lib\site-packages\Cheesecake-0.6-py2.4.egg\cheesecake\cheesecake_index.py", line 468, in decide
if not getattr(index, 'decide_' + when)(cheesecake):
File "c:\python24\lib\site-packages\Cheesecake-0.6-py2.4.egg\cheesecake\cheesecake_index.py", line 474, in decide_before_download
return self.decide(cheesecake, 'before_download')
File "c:\python24\lib\site-packages\Cheesecake-0.6-py2.4.egg\cheesecake\cheesecake_index.py", line 468, in decide
if not getattr(index, 'decide_' + when)(cheesecake):
File "c:\python24\lib\site-packages\Cheesecake-0.6-py2.4.egg\cheesecake\cheesecake_index.py", line 1112, in decide_before_download
if not command_successful("pylint --version"):
File "c:\python24\lib\site-packages\Cheesecake-0.6-py2.4.egg\cheesecake\util.py", line 38, in command_successful
rc, output = run_cmd(cmd)
File "c:\python24\lib\site-packages\Cheesecake-0.6-py2.4.egg\cheesecake\util.py", line 24, in run_cmd
p = Popen(arglist, stdout=PIPE, stderr=STDOUT, env=env)
File "c:\python24\lib\site-packages\Cheesecake-0.6-py2.4.egg\cheesecake\subprocess.py", line 558, in __init__
errread, errwrite)
File "c:\python24\lib\site-packages\Cheesecake-0.6-py2.4.egg\cheesecake\subprocess.py", line 722, in _execute_child
startupinfo)
WindowsError: (2, '')

Grig Gheorghiu said...

Hi, Max

You can report bugs on the cheesecake-users mailing list: http://lists2.idyll.org/listinfo/cheesecake-users

Thanks for checking out Cheesecake!

Grig