{"id":44677323,"url":"https://github.com/specify/awesome-specify","last_synced_at":"2026-02-15T03:30:38.864Z","repository":{"id":273965717,"uuid":"921473373","full_name":"specify/awesome-specify","owner":"specify","description":"A list of awesome Specify integrations, software, and resources developed by the community.","archived":false,"fork":false,"pushed_at":"2025-03-28T01:28:06.000Z","size":30,"stargazers_count":4,"open_issues_count":0,"forks_count":3,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-03-28T02:30:46.618Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/specify.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-24T02:28:21.000Z","updated_at":"2025-03-28T01:28:09.000Z","dependencies_parsed_at":"2025-02-13T19:27:35.761Z","dependency_job_id":null,"html_url":"https://github.com/specify/awesome-specify","commit_stats":null,"previous_names":["specify/awesome-specify"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/specify/awesome-specify","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specify%2Fawesome-specify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specify%2Fawesome-specify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specify%2Fawesome-specify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specify%2Fawesome-specify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/specify","download_url":"https://codeload.github.com/specify/awesome-specify/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/specify%2Fawesome-specify/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29466929,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-15T01:01:38.065Z","status":"online","status_checked_at":"2026-02-15T02:00:07.449Z","response_time":118,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-15T03:30:36.900Z","updated_at":"2026-02-15T03:30:38.851Z","avatar_url":"https://github.com/specify.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cbr\u003e\n  \u003cimg width=\"195\" src=\"https://github.com/user-attachments/assets/46d6c42e-aea5-47d4-90d9-27194f759ea3\" alt=\"logo of awesome-specify repository\"\u003e\n  \u003cbr\u003e\n  \u003cbr\u003e\n\u003c/p\u003e\n\n# Awesome Specify [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome)\n\nA community-driven list of Specify integrations, software, and resources developed by the community.\n\nPlease see the official Specify code repositories at [https://github.com/specify](https://github.com/specify).\n\n## Repositories\n\n#### Taxonomy\n\n[Taxa Tree Generator](https://github.com/specify/taxa_tree_docker) - A tool for creating taxon tree files \nfor import via the Specify WorkBench based on source data from GBIF, WoRMS, Catalogue of Life, and ITIS. \nIt is especially useful during conversions. Users often request trees along with a list of names, such as \nfamilies, genera, or species, and we use that list to select the appropriate names and ranks.\n\n[Specify7-Api-Demo](https://github.com/melton-jason/Specify7-Api-Demo/tree/main) by \n[@melton-jason](https://github.com/melton-jason/): Currently in Specify 7, there is not an easy way using \nthe frontend interface (or the WorkBench component) to **mass-import synonymized** Taxa. This demo aims \nto create an application that reads a CSV file with taxonomic information to upload new taxa to a \nSpecify 7 instance and update existing taxa with the latest data from the file.\n\n#### Miscellaneous / mixed\n\n[Sp7APIToolbox](https://github.com/NHMDenmark/Sp7ApiToolbox) by [NHMDenmark](https://github.com/NHMDenmark) - Aimes to gather \ndifferent code classes, named tools, for interacting with the Specify7 API allowing for bulk actions. For the time being it \nwill run from a command line and can be run directly in a development environment. Pending needs, a fully functional release \nmay be published eventually, perhaps even with a graphical user interface.\n\n[SpecifyUtilities](https://github.com/NSCF/SpecifyUtilities): \nA mishmash of scripts developed by the [Natural Science Collections Facility](https://nscf.org.za/) for doing various things in \nSpecify, including batch copying queries from one user to several others, extracting data in Darwin Core format, updating catalog \nnumbers, updating parasite hosts, updating synonyms, etc. See importBRAHMS8Checklist for importing a flat taxon file and constructing\nfull names for plants. Scripts DO NOT use the API, so beware!\n\n[specify-sort-views](https://github.com/NSCF/specify-sort-views):\nSometimes the XML files that define the Specify forms are a bit untidy, so this formats and sorts the views/viewdefs \nalphabetically to make them easier to work with. Nice to do this with a new Specify instance before starting on form customization.\n\n[specify-edit-bot](https://github.com/beatybiodiversitymuseum/specify-edit-bot):\nEnables editing or deleting records based on data defined in a csv file. A \"bot\" user is created to perform the changes, allowing minimal permission scoping for security and to reduce the liklihood of error. Can be run continuously, with a rate of 1 edit/delete per 5 seconds.\n\n[specify-sql](https://github.com/NSCF/SpecifySQL): a set of SQL queries I used to quickly get information directly \nfrom the database while troubleshooting, migrating, etc.\n\n[specify-api-js-client](https://github.com/NSCF/Specify-API-JS-client): An OLD repo for getting started with the \nSpecify API, mainly getting the access token, in Javascript. May well no longer work...\n\n[Specify 7 Test Panel](https://github.com/specify/specify7-test-panel) - A powerful utility to manage and deploy a cluster of Specify 7 instances for testing with automatic deployment, authentication and a test panel for setting configuration. Used internally at Specify.\n\n#### Data migration / workbench\n\n[nca-data-migrator](https://github.com/NSCF/nca-specify-migrator):\nA script written to migrate a relatively large collection (\u003e 80 000 collection object records) to Specify, \nbecause the workbench was just too slow. Intended for initial migration only, does not use the API. On a \nlocal instance migrates all records in ~4 minutes. Can be tweaked to work with other datasets by updating \nmappings.py, although you'll need to add additional table classes under `db` and update `importdata.py` \nif you're importing data into additional tables. Some scripts are a bit messy and may not work, e.g. \nupdatesynonyms, which was intended to use World Spider Catalog, but was abandoned in dispair when it was \ndiscovered that WSC taxon identifiers are moved when names are synonymized. Please CLONE and not FORK \nthis repo for migrations on other collections.\n\n[Spreadsheet Spatial Data Conversion](https://github.com/heryk/spreadsheetSpatialDataConversion):\nThis guide outlines two methods for converting and standardizing spatial data in an Excel spreadsheet to decimal degrees (DD). The first method uses Python, while the second method utilizes PostgreSQL with Postgis extension. These methods support spatial data in formats such as DD (Decimal Degrees), DMS (Degrees Minutes Seconds), and UTM (Universal Transverse Mercator). They can also be adapted to handle other projections.\n\n#### Imaging / Web Assets\n\n[Enhanced web asset server](https://github.com/calacademy-research/cas-web-asset-server) - Fork of Specify’s web asset server with full backward compatibility and ongoing updates. Adds REST-based metadata management, EXIF editing via the integrated MetadataTools submodule, and a MySQL-backed asset tracker with a tiered MD5-based directory layout. Includes redacted image access controls, Nginx integration with performance/security tuning (CORS, rate limiting, bot blocking), and multithreaded request handling.\n\n[Web Asset Importer](https://github.com/calacademy-research/web-asset-importer) – A bulk image import client designed to work with the enhanced web asset server. It ingests both legacy and newly added images from collection-specific directories, extracting ID numbers from filenames, directory paths, or via automatic EXIF tagging—though custom ID extraction methods can be implemented easily. It supports MD5-based duplicate detection, recursive scanning, regex and date-based batch control, and preserves human edits in the Specify database. While tailored for CAS workflows, it provides generic base classes for easy customization to other institutional needs, and integrates with Picturae imports, TNRS-based taxonomic validation, and dynamic creation of taxon and agent records.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspecify%2Fawesome-specify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspecify%2Fawesome-specify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspecify%2Fawesome-specify/lists"}