Packaging AGGREGATION code

In working with the different software for AGGREGATION (XigtifiedToolbox, MOM, aggregation/BASIL) I decided it could be useful for me to package up each of those repositories in a python distribution package that could then be installed using pip.

Would there be any objection to packaging these and uploading them to PyPi for more ease of use?

No objections but a warning: packaging can be time consuming and requires maintenance, particularly when there are lots of dependencies. I once tried to package MOM only to realize that the release quickly went out of date. But in general I think it is great to have something available via pip, so, good luck :slight_smile:

1 Like

I am curious, what are all these tools? Maybe we could add them to http://moin.delph-in.net/ToolsTop?

@arademaker these are tools for UW’s typological inference work. A goal was to automatically fill out the Grammar Matrix based on the values inferred from linguistic examples (IGTs), but otherwise it’s not related to DELPH-IN.

@ecconrad Regarding easier installation, note that you do not need to publish on PyPI to install with pip. You can pip install path/to/project/ if the path is a directory containing a setup.py file (setup.py is not the only way to define a build configuration, but it’s still the most well-known). You can also install directly from a Git repository (again, assuming it has setup.py). For example, I’m working on a new wordnet module that is not yet published on PyPI, so I say it can be installed like this:

pip install git+https://github.com/goodmami/wn.git

Unless you expect people outside your group to stumble upon these projects and want to try them out, publishing to PyPI is probably just extra work.

That said, I do recommend packaging projects (particularly those that are dependencies) with setup.py and installing them with pip over manually copying files, tweaking PYTHONPATH, using setup.py install, etc., because pip makes it easier to upgrade and uninstall, and it works well with virtual environments.

2 Likes

@arademaker you can find out more about the AGGREGATION project here:
http://depts.washington.edu/uwcl/aggregation/

It doesn’t seem to be of the same type of thing as the others listed on the DelphinTools page (where even the Grammar Matrix isn’t listed…)

1 Like

At a risk of hijacking the thread:

I never quite understood why the Matrix isn’t listed there, actually! In what way isn’t it a DELPH-IN tool? (AGG – sure, we do not work with DELPH-IN formalism directly there).

I’m not sure there was any deep reasoning behind that, but I’m guessing it’s because the Matrix was conceived of more as a kind of grammar than as a tool. But, it’s a wiki after all, and we can all edit it :slight_smile:

1 Like

+1 to add Matrix and AGG project in the wiki. It seems very related to language documentation but also to grammar construction, right?

Okay, I’ve added them :slight_smile: