content: # SPDX-FileCopyrightText: openmod-tracker contributors
  #
  # SPDX-License-Identifier: MIT
  
  [project]
  authors = ["Bryn Pickering <bryn.pickering@openenergytransition.org>", "Markus Groissböck <markus.groissbock@openenergytransition.org>", "Jacek Bendig <jacek.bendig@openenergytransition.org>"]
  channels = ["conda-forge"]
  name = "openmod-tracker"
  platforms = ["win-64", "linux-64", "osx-64", "osx-arm64", "linux-aarch64"]
  version = "2025-09-23"
  
  [tasks.get-tools]
  cmd = "python $PIXI_PROJECT_ROOT/inventory/get_tools.py inventory/output/tools.csv"
  inputs = ["inventory/get_tools.py", "inventory/pre_compiled_esm_list.csv", "inventory/categories.csv"]
  outputs = ["inventory/output/tools.csv"]
  
  [tasks.filter-tools]
  cmd = "python $PIXI_PROJECT_ROOT/inventory/filter_tools.py inventory/output/tools.csv inventory/output/filtered.csv"
  inputs = ["inventory/output/tools.csv", "inventory/exclusions.csv", "inventory/filter_tools.py"]
  outputs = ["inventory/output/filtered.csv"]
  depends-on = ["get-tools"]
  
  [tasks.get-stats]
  cmd = "python $PIXI_PROJECT_ROOT/inventory/get_stats.py inventory/output/filtered.csv inventory/output/stats.csv"
  inputs = ["inventory/output/filtered.csv", "inventory/get_stats.py"]
  outputs = ["inventory/output/stats.csv"]
  depends-on = ["filter-tools"]
  
  [tasks.get-docs]
  cmd = "python $PIXI_PROJECT_ROOT/inventory/get_docs.py inventory/output/stats.csv inventory/output/docs.csv"
  inputs = ["inventory/output/stats.csv", "inventory/get_docs.py"]
  outputs = ["inventory/output/docs.csv"]
  depends-on = ["get-stats"]
  
  [tasks.get-repo-users]
  cmd = "python $PIXI_PROJECT_ROOT/user_analysis/get_repo_users.py --stats-file inventory/output/stats.csv --out-path user_analysis/output/user_interactions.csv"
  inputs = ["inventory/output/stats.csv", "user_analysis/get_repo_users.py"]
  outputs = ["user_analysis/output/user_interactions.csv"]
  depends-on = ["get-stats"]
  
  [tasks.get-user-details]
  cmd = "python $PIXI_PROJECT_ROOT/user_analysis/get_user_details.py --user-interactions user_analysis/output/user_interactions.csv --outdir user_analysis/output"
  inputs = ["user_analysis/output/user_interactions.csv"]
  outputs = ["user_analysis/output/user_details.csv", "user_analysis/output/organizations.csv"]
  depends-on = ["get-repo-users"]
  
  [feature.geo.tasks.classify-users]
  cmd = "python $PIXI_PROJECT_ROOT/user_analysis/classify_users.py --user-details user_analysis/output/user_details.csv --out-path user_analysis/output/user_classifications.csv"
  inputs = ["user_analysis/output/user_details.csv"]
  outputs = ["user_analysis/output/user_classifications.csv"]
  depends-on = ["get-repo-users"]
  
  [dependencies]
  pandas = ">=2.2.3,<3"
  requests = ">=2.32.3,<3"
  ipython = ">=9.2.0,<10"
  pandas-stubs = ">=2.2.3.250308,<3"
  click = ">=8.2.1,<9"
  yaml = ">=0.2.5,<0.3"
  pyyaml = ">=6.0.2,<7"
  tqdm = ">=4.67.1,<5"
  ipdb = ">=0.13.13,<0.14"
  pyarrow = ">=20.0.0,<21"
  tabulate = ">=0.9.0,<0.10"
  bs4 = ">=4.13.4,<5"
  pre-commit = ">=4.2.0,<5"
  gitpython = ">=3.1.44,<4"
  pygithub = ">=2.6.1,<3"
  python-dotenv = ">=1.1.1,<2"
  unidecode = ">=1.3.8,<2"
  reuse = ">=5.1.1,<6"
  
  [feature.app.dependencies]
  streamlit = "*"
  streamlit-keyup = ">=0.3.0,<0.4"
  plotly = ">=6.1.2,<7"
  markdown = ">=3.8.2,<4"
  
  [feature.app.tasks]
  serve = "streamlit run $PIXI_PROJECT_ROOT/website/⚡️_Tool_Repository_Metrics.py"
  
  [feature.test.dependencies]
  pytest = ">=8.4.1,<9"
  
  [feature.test.tasks]
  test = "pytest"
  
  [feature.vis.dependencies]
  plotly = "*"
  matplotlib = "*"
  seaborn = "*"
  ipykernel = ">=6.29.5,<7"
  nbformat = ">=5.10.4,<6"
  
  [feature.geo.dependencies]
  geopy = "*"
  pycountry = "*"
  
  [environments]
  app = ["app"]
  vis = ["vis"]
  geo = ["geo"]
  test = ["test", "app"]
  