> ## Content Index
> Fetch the complete content index at: https://www.interline.io/llms.txt
> Use this file to discover other available public pages before exploring further.

# Announcing transitland-lib v1.0.0
- URL: https://www.interline.io/blog/announcing-transitland-lib-v1-0-0/
- Published: 2025-03-28T19:56:25.000Z
- Updated: 2025-03-28T19:56:25.000Z
- Author: Interline Technologies
- Tags: GTFS, Transitland

We're pleased to announce the release of transitland-lib version 1.0.0\. This software library, written in the [Go programming language](https://go.dev/?ref=interline.io), is the foundation of the Transitland platform and integral to a growing range of purpose-built applications.

## From experiment to production

In 2019, the Interline team began exploring how Go's performance characteristics could serve as a new foundation for [Transitland's v2 platform](https://www.interline.io/blog/tlv2/). The goal was simple: process the largest and most complex GTFS feeds faster and more efficiently.

After years of iteration and real-world testing, with hundreds of thousands of GTFS feeds processed, we've finally tagged a v1.0.0\. This release represents a stable production-ready library that powers critical transit data systems.

## Real-world uses

transitland-lib can be found within many transit data platforms operated by Interline:

- The canonical Transitland deployment at [www.transit.land](https://www.transit.land/?ref=interline.io)
- [MTC's 511 Regional Feed for the San Francisco Bay Area](https://www.interline.io/blog/tag/511-sf-bay-regional-feed/)
- A new transit analysis tool for public agencies across the states of Washington, Oregon, and California
- A routing engine deployment for a business client that covers an entire country
- The new [Transitland Routing API](https://www.transit.land/documentation/routing-api/?ref=interline.io) beta that currently provides journey planning across the entire United States

This component is also in use by other organizations. For example, Portland TriMet uses transitland-lib to efficiently clip [Amtrak's country-wide feed](https://www.transit.land/feeds/f-9-amtrak~amtrakcalifornia~amtrakcharteredvehicle?ref=interline.io) to create a focused feed to ingest into their own [OpenTripPlanner routing engine for the greater Portland, Oregon, region](https://trimet.org/home/planner/?ref=interline.io).

## Built for handling many feeds

transitland-lib provides:

- Fast feed processing for both static GTFS and GTFS Realtime
- Memory-efficient operations
- Concurrent data handling
- Robust error handling
- Defining multiple input feeds using the [Distributed Mobility Feed Registry (DMFR) format](https://github.com/transitland/distributed-mobility-feed-registry?ref=interline.io)

## Performance in action

Let's look at one example of transitland-lib's capabilities to process and validate massive GTFS feeds. This demonstration covers Switzerland's entire transit network, one of the largest GTFS feeds in the world ([view on transit.land](https://www.transit.land/feeds/f-u0-switzerland?ref=interline.io)):

```sh
✗ transitland validate https://data.opentransportdata.swiss/en/dataset/timetable-2025-gtfs2020/permalink

```

![](https://storage.ghost.io/c/57/10/5710b77b-3fc0-4094-a25f-875ff38c9df1/content/images/2025/03/CleanShot-2025-03-26-at-13.52.03.gif)

In about one and a half minutes on a laptop, transitland-lib downloads and processes a GTFS feed including 460 separate agencies, over 90,000 stops, over 4,000 routes, over 1.2 million trips, and a complicated set of calendar and calendar date records.

The library's ability to handle such large datasets reliably makes it an ideal choice for processing national-scale transit feeds or creating regional subsets of larger networks.

## Extensible architecture

transitland-lib's extension framework enables support for both standard GTFS and [experimental extensions](https://gtfs.org/community/extensions/overview/?ref=interline.io). This flexibility has been crucial for:

- Processing [MTC GTFS+ files](https://www.transitwiki.org/TransitWiki/images/e/e7/GTFS%2B%5FAdditional%5FFiles%5FFormat%5FVer%5F1.7.pdf?ref=interline.io) for the SF Bay Regional Feed
- Supporting [GTFS Fares-v2](https://www.interline.io/blog/mtc-regional-gtfs-feed-fares-updates/) as it has iteratively evolved from proposal to adopted specification
- Supporting the addition of [GTFS Pathways](https://www.interline.io/blog/mtc-regional-gtfs-feed-additions/#station-pathways-and-levels) using [Interline's Station Editor](https://www.interline.io/transitland/station-editor/)

We update transitland-lib to track the latest static GTFS and GTFS Realtime specifications. To check which version of the specifications you are using, simply run the `transitland version` command:

```sh
✗ transitland version
transitland-lib version: v1.0.0
transitland-lib commit: https://github.com/interline-io/transitland-lib/commit/bae91cd7f32c67ffe89965cab3636e22ddbce817 (time: 2025-03-11T18:47:50Z)
GTFS specification version: https://github.com/google/transit/blob/11a49075c1f50d0130b934833b7eeb3fe518961c/gtfs/spec/en/reference.md
GTFS Realtime specification version: https://github.com/google/transit/blob/7b9f229dfa0b539c3fcf461986638890024feb06/gtfs-realtime/proto/gtfs-realtime.proto

```

## Validation and best practices

GTFS feeds can be messy. Therefore, transitland-lib:

- Validates required fields and data types
- Ensures referential integrity between files
- Checks that feeds meet many of the [best practices](https://gtfs.org/documentation/schedule/schedule-best-practices/?ref=interline.io)
- Also supports validating GTFS Realtime feeds

With both static GTFS and GTFS Realtime processed using the same library, we're now able to put into ongoing production-scale use [Interline's previous research with University of South Florida into GTFS Realtime validation](https://www.interline.io/blog/trb-transit-idea-gtfs-realtime-report/).

💡

While transitland-lib implements many of the same validation and best practice rules as [MobilityData's static GTFS validator](https://github.com/MobilityData/gtfs-validator?ref=interline.io), the purposes and advantages of each library are distinct.  
  
The MobilityData validator lends itself well to interactive use when people and organizations creating GTFS feeds want to check to ensure their static feed is ready for submission to a third-party consumer. The MobilityData validator outputs a report that is useful for reference and sharing.  
  
In contrast, transitland-lib is designed to efficiently process many feeds, to serve as a component within production-scale processing pipelines, and to optionally validate GTFS Realtime endpoints with the context of a static GTFS feed with associated schedules.

transitland-lib also gives developers options for how to handle invalid data:

- For the canonical Transitland deployment, we've configured transitland-lib to fail *soft*. When errors are limited to certain rows in a GTFS feed, those entities are filtered out. The rest of the feed's data is imported and made available to users.
- For some client deployments, we've configured transitland-lib to fail *hard*. Any error in a source feed will halt the entire workflow and instantly notify staff to review the issue.

Each application may have different goals and different tradeoffs for how to handle invalid data, and transitland-lib provides options to customize and control this behavior. 

## Powerful filtering system

transitland-lib's filtering system enables modifying and transforming GTFS feeds for specific project contexts, such as:

- Producing date-specific GTFS feeds
- Building regional routing engines with optimized data
- Merging together many source feeds to create regional, state, or national scale feeds
- Standardizing data across multiple agencies, with customized rules for namespacing entities

Interline uses transitland-lib to [curate full-service data deliveries for our clients needing consistent GTFS data across states and countries](https://app.interline.io/contact%5Fforms/curated%5Fgtfs?ref=interline.io).

## Using transitland-lib

If you use the Transitland website or the Transitland APIs, you're already using transitland-lib.

Developers can visit [github.com/interline-io/transitland-lib](https://github.com/interline-io/transitland-lib?ref=interline.io) to learn more about transitland-lib as a command-line interface (CLI) or a library for programmatic usage.

transitland-lib is available under a [dual license model](https://github.com/interline-io/transitland-lib/blob/main/LICENSE?ref=interline.io) enabling open-source use under the permissive GPLv3 license and also providing flexibility to Interline's clients under a customizable business license.

We look forward to continuing to maintain transitland-lib for another six years as the GTFS and GTFS Realtime specifications continue to evolve and as the number and size of source feeds continues to grow.