TSX

Provides reliable and robust measures of change in the relative abundance of Australia's threatened and near-threatened species at national, state and regional levels.
https://github.com/nesp-tsr3-1/tsx

Category: Biosphere
Sub Category: Terrestrial Wildlife

Keywords from Contributors

measur transforms archiving animals conversion observation optimize projection compose generic

Last synced: about 4 hours ago
JSON representation

Repository metadata

Australian Threatened Species Index

README.rst

          ===================================================================
Welcome to the Australian Threatened Species Index (TSX) Repository
===================================================================

For information about the Australian Threatened Species Index project, see https://tsx.org.au

The code in this repository is responsible for data import and pre-processing of data, and visualsation of the generated trend graphs and associated data.


User Guide
==========

The easiest way to learn about running the TSX workflow is to check out the User Guide at https://tsx.org.au/user-guide/

Developer Guide
===============

1. Setup database (MySQL)
-------------------------

First create a new MySQL database.

You can call it anything but the instructions below assume it is named "tsx".

Initialise the database using the provided scripts:

.. code:: bash

	mysql tsx < data/sql/create.sql
	mysql tsx < data/sql/init.sql

Copy example configuration:

.. code:: bash

	cp tsx.conf.example tsx.conf

Then edit the ``[database]`` section in tsx.conf to match the database you just created.

2. Setup python virtual environment and install dependencies
------------------------------------------------------------

.. code:: bash

	pip install pipenv # if you don't have virtualenv already
	pipenv sync


3. Import taxa
--------------

.. code:: bash

	python -m tsx.import_taxa [path to TaxonList.xlsx]

4. Import some sample data
--------------------------

Via command line:

.. code:: bash

	python -m tsx.importer --type 1 --commit data/type-1-sample.csv

Or alternatively via web upload interface

.. code:: bash

	# Start back-end API:
	FLASK_DEBUG=1 FLASK_APP=tsx/api/api.py python -m flask run

	# Start front-end (in a separate terminal):
	cd web
	npm install
	npm run dev-data

5. Run processing scripts
-------------------------

.. code:: bash

	python -m tsx.process alpha_hull
	python -m tsx.process range_ultrataxon
	python -m tsx.process pseudo_absence

Or all at once:

.. code:: bash

	python -m tsx.process -c all


Deployment
==========

(TODO - more detailed instructions)

1. Setup database (see instructions for dev environment)

2. Install tsx package::

	python setup.py install

3. Edit configuration in ``/opt/tsx/conf/tsx.conf``

4. Setup as service (Linux)::

	sudo cp etc/init.d/tsxapi /etc/init.d/
	sudo service tsxapi start

5. Deploy static resources::

	# If you don't have have node/npm installed:
	#
	# sudo apt install npm nodejs
	#
	# .. or might need a more recent version ..
	#
	# sudo apt-get remove nodejs npm ## remove existing nodejs and npm packages
	# sudo apt-get install curl
	# curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
	# sudo apt-get install -y nodejs
	#

	cd web
	npm install
	(TODO - add step to point code to REST API base URL)
	npm run build
	sudo cp -r dist/ /var/www/tsx/
	sudo chown -R www-data:www-data /var/www/tsx

        

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 976
Total Committers: 7
Avg Commits per committer: 139.429
Development Distribution Score (DDS): 0.238

Commits in past year: 241
Committers in past year: 1
Avg Commits per committer in past year: 241.0
Development Distribution Score (DDS) in past year: 0.0

Name Email Commits
James Watmuff j****s@p****u 744
James Watmuff j****s@J****l 144
James Watmuff j****s@J****y 54
hoangnguyen177 h****7@g****m 23
Ubuntu u****u@n****u 8
Ubuntu u****u@n****u 2
dependabot[bot] 4****] 1

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 3
Total pull requests: 38
Average time to close issues: almost 2 years
Average time to close pull requests: about 1 year
Total issue authors: 2
Total pull request authors: 1
Average comments per issue: 1.0
Average comments per pull request: 3.18
Merged pull request: 1
Bot issues: 0
Bot pull requests: 38

Past year issues: 0
Past year pull requests: 5
Past year average time to close issues: N/A
Past year average time to close pull requests: 22 days
Past year issue authors: 0
Past year pull request authors: 1
Past year average comments per issue: 0
Past year average comments per pull request: 0.2
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 5

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/nesp-tsr3-1/tsx

Top Issue Authors

  • ammojamo (2)
  • gakindler (1)

Top Pull Request Authors

  • dependabot[bot] (38)

Top Issue Labels

Top Pull Request Labels

  • dependencies (38)
  • javascript (21)
  • python (15)

Dependencies

web/package-lock.json npm
  • @vitejs/plugin-vue 1.10.2 development
  • anymatch 3.1.2 development
  • binary-extensions 2.2.0 development
  • braces 3.0.2 development
  • chokidar 3.5.3 development
  • esbuild 0.14.42 development
  • esbuild-android-64 0.14.42 development
  • esbuild-android-arm64 0.14.42 development
  • esbuild-darwin-64 0.14.42 development
  • esbuild-darwin-arm64 0.14.42 development
  • esbuild-freebsd-64 0.14.42 development
  • esbuild-freebsd-arm64 0.14.42 development
  • esbuild-linux-32 0.14.42 development
  • esbuild-linux-64 0.14.42 development
  • esbuild-linux-arm 0.14.42 development
  • esbuild-linux-arm64 0.14.42 development
  • esbuild-linux-mips64le 0.14.42 development
  • esbuild-linux-ppc64le 0.14.42 development
  • esbuild-linux-riscv64 0.14.42 development
  • esbuild-linux-s390x 0.14.42 development
  • esbuild-netbsd-64 0.14.42 development
  • esbuild-openbsd-64 0.14.42 development
  • esbuild-sunos-64 0.14.42 development
  • esbuild-windows-32 0.14.42 development
  • esbuild-windows-64 0.14.42 development
  • esbuild-windows-arm64 0.14.42 development
  • fill-range 7.0.1 development
  • fsevents 2.3.2 development
  • function-bind 1.1.1 development
  • glob-parent 5.1.2 development
  • has 1.0.3 development
  • immutable 4.1.0 development
  • is-binary-path 2.1.0 development
  • is-core-module 2.9.0 development
  • is-extglob 2.1.1 development
  • is-glob 4.0.3 development
  • is-number 7.0.0 development
  • normalize-path 3.0.0 development
  • path-parse 1.0.7 development
  • picomatch 2.3.1 development
  • readdirp 3.6.0 development
  • resolve 1.22.0 development
  • rollup 2.75.3 development
  • sass 1.52.1 development
  • supports-preserve-symlinks-flag 1.0.0 development
  • to-regex-range 5.0.1 development
  • vite 2.9.9 development
  • @babel/parser 7.18.4
  • @babel/runtime 7.18.3
  • @popperjs/core 2.11.5
  • @vue/compiler-core 3.2.36
  • @vue/compiler-dom 3.2.36
  • @vue/compiler-sfc 3.2.36
  • @vue/compiler-ssr 3.2.36
  • @vue/devtools-api 6.1.4
  • @vue/reactivity 3.2.36
  • @vue/reactivity-transform 3.2.36
  • @vue/runtime-core 3.2.36
  • @vue/runtime-dom 3.2.36
  • @vue/server-renderer 3.2.36
  • @vue/shared 3.2.36
  • @vueform/multiselect 2.4.2
  • bulma 0.9.4
  • chart.js 3.8.0
  • csstype 2.6.20
  • estree-walker 2.0.2
  • heatmap.js 2.0.5
  • leaflet 1.8.0
  • leaflet-easybutton 2.4.0
  • magic-string 0.25.9
  • nanoid 3.3.4
  • picocolors 1.0.0
  • postcss 8.4.14
  • regenerator-runtime 0.13.9
  • source-map 0.6.1
  • source-map-js 1.0.2
  • sourcemap-codec 1.4.8
  • tippy.js 6.3.7
  • underscore 1.13.3
  • vue 3.2.36
  • vue-autofocus-directive 1.0.4
  • vue-router 4.0.15
  • vue-simple-spinner 1.2.10
  • vue-tippy 6.0.0-alpha.58
web/package.json npm
  • @vitejs/plugin-vue ^1.6.0 development
  • @vue/compiler-sfc ^3.0.5 development
  • sass ^1.38.1 development
  • vite ^2.5.1 development
  • @vueform/multiselect ^2.4.2
  • bulma ^0.9.3
  • chart.js ^3.5.1
  • heatmap.js ^2.0.5
  • leaflet ^1.7.1
  • leaflet-easybutton ^2.4.0
  • underscore ^1.13.1
  • vue ^3.2.6
  • vue-autofocus-directive ^1.0.4
  • vue-router ^4.0.11
  • vue-simple-spinner ^1.2.10
  • vue-tippy ^6.0.0-alpha.43
setup.py pypi
  • Flask >=1.1.1
  • Flask-Cors >=3.0.6
  • Flask-Session >=0.3.1
  • GeoAlchemy2 >=0.4.0
  • SQLAlchemy >=1.1.14
  • Shapely >=1.6.2.post1
  • Twisted >=17.9.0
  • configparser >=3.7.4
  • mysql-connector *
  • openpyxl >=2.4.9
  • pandas >=0.21.0
  • passlib >=1.7.1
  • pyOpenSSL >=17.5.0
  • pyproj >=1.9.5.1
  • python-dateutil >=2.6.1
  • tqdm >=4.19.4
.github/workflows/publish-docker-image.yml actions
  • actions/attest-build-provenance v1 composite
  • actions/checkout v4 composite
  • docker/build-push-action v5 composite
  • docker/login-action v3 composite
  • docker/setup-buildx-action v3 composite
  • docker/setup-qemu-action v3 composite
containers/Dockerfile docker
  • base latest build
  • prod latest build
  • python 3.9-slim build
containers/docker-compose.yml docker
  • ghcr.io/nesp-tsr3-1/tsx-workflow latest
  • mysql 8.3.0
  • phpmyadmin latest
Pipfile pypi
  • argon2-cffi *
  • cachelib *
  • cartopy *
  • fiona *
  • flask *
  • flask-cors *
  • flask-executor *
  • flask-headers *
  • flask-session *
  • fpdf2 *
  • matplotlib *
  • mysql-connector-python *
  • numpy *
  • openpyxl *
  • pandas *
  • passlib *
  • pyproj *
  • pytest *
  • rpy2 *
  • scipy *
  • shapely *
  • sqlacodegen ==3.0.0rc5
  • sqlalchemy *
  • tqdm *
  • watchdog *
Pipfile.lock pypi
  • argon2-cffi ==23.1.0
  • argon2-cffi-bindings ==21.2.0
  • attrs ==24.2.0
  • blinker ==1.8.2
  • cachelib ==0.13.0
  • cartopy ==0.23.0
  • certifi ==2024.8.30
  • cffi ==1.17.1
  • click ==8.1.7
  • click-plugins ==1.1.1
  • cligj ==0.7.2
  • contourpy ==1.3.0
  • cycler ==0.12.1
  • defusedxml ==0.7.1
  • et-xmlfile ==2.0.0
  • exceptiongroup ==1.2.2
  • fiona ==1.10.1
  • flask ==3.0.3
  • flask-cors ==5.0.0
  • flask-executor ==1.0.0
  • flask-headers ==1.0
  • flask-session ==0.8.0
  • fonttools ==4.54.1
  • fpdf2 ==2.8.1
  • importlib-metadata ==8.5.0
  • importlib-resources ==6.4.5
  • inflect ==7.4.0
  • iniconfig ==2.0.0
  • itsdangerous ==2.2.0
  • jinja2 ==3.1.4
  • kiwisolver ==1.4.7
  • markupsafe ==3.0.2
  • matplotlib ==3.9.2
  • more-itertools ==10.5.0
  • msgspec ==0.18.6
  • mysql-connector-python ==9.1.0
  • numpy ==2.0.2
  • openpyxl ==3.1.5
  • packaging ==24.1
  • pandas ==2.2.3
  • passlib ==1.7.4
  • pillow ==11.0.0
  • pluggy ==1.5.0
  • pycparser ==2.22
  • pyparsing ==3.2.0
  • pyproj ==3.6.1
  • pyshp ==2.3.1
  • pytest ==8.3.3
  • python-dateutil ==2.9.0.post0
  • pytz ==2024.2
  • rpy2 ==3.5.16
  • scipy ==1.13.1
  • shapely ==2.0.6
  • six ==1.16.0
  • sqlacodegen ==3.0.0rc5
  • sqlalchemy ==2.0.36
  • tomli ==2.0.2
  • tqdm ==4.66.6
  • typeguard ==4.4.0
  • typing-extensions ==4.12.2
  • tzdata ==2024.2
  • tzlocal ==5.2
  • watchdog ==5.0.3
  • werkzeug ==3.0.6
  • zipp ==3.20.2

Score: 4.143134726391533