pteichman / cobe

A Markov chain based text generation library and MegaHAL style chatbot
http://teichman.org/blog/
MIT License
239 stars 51 forks source link

Different versions? Github vs PyPi #8

Closed pikeas closed 9 years ago

pikeas commented 11 years ago

The version on PyPi (pip) is 2.1.0. The version on Github (master branch) is 2.0.4.

The folder layout is noticeably different between the two - Github has additional files like search.py and counter.py. The copyright date is also more recent - commands.py is (C) 2012 on Github but (C) 2011 on PyPi.

However, the PyPi version has more available commands, like learn and set-stemmer. And of course, it has a higher version number.

I'm a bit stumped - which version should I use?

pteichman commented 11 years ago

Hi,

First off, sorry for the confusion. The quick answer is: use PyPi, because those are the blessed, stable releases.

The current master has some work toward cobe 3.x, but it's unstable and I don't recommend its use. After I started that, I decided to make another 2.x release; because work had already progressed on master, 2.1.0 was released from a branch: https://github.com/pteichman/cobe/tree/cobe-2. That's where you can go if you want to modify the stable code.

I haven't yet updated the version number on master, hence the confusion. The copyright dates are roughly accurate. cobe doesn't get frequent changes (though it does see active, production use). 2.1.0 was released in 2013, but the only file that changed was brain.py. It does look like the copyright on commands.py should be 2012, but don't read too much into those dates.

pikeas commented 11 years ago

Thanks for the quick and thorough reply!

What are your plans for cobe 3.x? It looks like you've significantly modified your ngram parser (ng.py).

pteichman commented 11 years ago

Quick first reply, slow second: sorry for the delay, I'm preparing for a cross-country move.

The main goal for cobe 3 is scalability: I've had a long-term goal of running cobe on the Google Ngram corpus, and 3 has some work that will make that more plausible. It's also a far simpler codebase, and hopefully something other people might be more interested in getting into. There's a new database format which is more compact than the current SQLite schema with more room for savings in the future.

A secondary goal is to decouple the current MegaHAL-like random walk from the data representation, so other searches would be possible. Longer term, I'd like to give cobe knowledge of meter and rhyme for poetry generation.

fitnr commented 9 years ago

Running pip install cobecurrently fails because of issues with python-irclib. Manually installing from the current master (370f2587) is working. (Python 2.7 on CentOS and OS X 10.9/10)

(If you don't want to completely update the repo on Pypi, changing dependency_links to http://softlayer-dal.dl.sourceforge.net/project/python-irclib/python-irclib/0.4.8/python-irclib-0.4.8.tar.gz solves the install problem.)

pteichman commented 9 years ago

I've just released cobe 2.1.1 to fix up the dependency issues on PyPI. This pulls in the current versions of irc (8.9.1) and PyStemmer (1.3.0). There's a short release note here: https://github.com/pteichman/cobe/wiki

Thanks!