kestrel-lang icon indicating copy to clipboard operation
kestrel-lang copied to clipboard

Installing kestrel-lang requires stix-shifter, docker, etc.

Open pcoccoli opened this issue 4 years ago • 1 comments

kestrel_datasource_stixbundle and kestrel_analytics_docker are "built-ins" but some kestrel installations may not use them. Since the datasource and analytics interfaces are modular, we should not build these in as it makes container installations larger than they need to be.

pcoccoli avatar Sep 14 '21 14:09 pcoccoli

pip supports extras_require in setup.cfg, and we will find if we can do something like not use some dependencies when doing pip install.

Reference:

  • https://stackoverflow.com/questions/41268863/difference-between-extras-require-and-install-requires-in-setup-py

subbyte avatar Sep 14 '21 14:09 subbyte

Two main options

  1. optional dep (dash or underscore is currently an issue: https://github.com/pypa/pip/issues/11649)
pip install kestrel-lang[stix-shifter, docker, jupyter]
  1. separate packages
pip install kestrel-lang kestrel-datasource-interface-stixshifter kestrel-analytics-interface-docker kestrel-jupyter

2.b. separate packages + meta package

pip install kestrel-lang

which is

pip install kestrel-core kestrel-datasource-interface-stixshifter kestrel-analytics-interface-docker kestrel-jupyter

Problems to solve

Drawback of 1: how does kestrel_datasource_stixshifter package handles the case with no stix-shifter dep

Drawback of 2: how to do versioning of all packages

subbyte avatar Jul 25 '23 02:07 subbyte

I like the meta package idea. Though one thing to consider - if the vast majority of users will want to use Kestrel via Jupyter, then why not make the kestrel-jupyter package require everything (including stix-shifter)? Then the "easy" installation instructions are simply pip install kestrel-jupyter.

pcoccoli avatar Jul 25 '23 12:07 pcoccoli

going to merge kestrel-jupyter into kestrel-lang using https://gfscott.com/blog/merge-git-repos-and-keep-commit-history/

subbyte avatar Oct 05 '23 14:10 subbyte

fixed in release 2023-10-18

subbyte avatar Oct 18 '23 16:10 subbyte