Skip to main content

Chellow

A web application for checking UK electricity and gas bills for organizations with a large number of supplies and / or high consumption.

Website: https://www.chellow.org/

Licence

Chellow is released under the GPL v3.

Introduction

Chellow is a web application for checking UK electricity and gas bills. It's designed for organizations with high electricity consumption. The software is hosted at https://github.com/WessexWater/chellow.

Build Status

Installation

Chellow is a Python web application that uses the PostgreSQL database. To install Chellow, follow these steps:

  • Install PostgreSQL
  • Create a PostgreSQL database: createdb --encoding=UTF8 chellow
  • Install the btree_gist extension with the SQL: CREATE EXTENSION IF NOT EXISTS btree_gist;
  • Set up the following environment variables to configure Chellow:
Name Default Description
PGUSER postgres Postgres user name
PGPASSWORD postgres Postgres password
PGHOST localhost Postgres host name
PGPORT 5432 Postgres port
PGDATABASE chellow Postgres database name

In bash an environment variable can be set by doing:

export PGUSER=postgres

in Windows an environment variable can be set by doing:

set PGUSER=postgres

  • Install Python
  • Create a virtual environment: python3 -m venv venv
  • Activate the virtual environment: source venv/bin/activate
  • Install Chellow: pip install chellow
  • Start Chellow:waitress-serve --host=0.0.0.0 --port=8080 --call chellow:create_app
  • You should now be able to visit http://localhost:8080/ in a browser.

Azure

SSH into the machine and you'll be in /home/site/wwwroot.

  • Create a virtual environment: python -m venv antenv
  • Activate the virtual environment with: source antenv/bin/activate

In /home/site/wwwroot create a file called app.py containing the following:

import chellow

app = chellow.create_app()

If you're using Entra ID to access Postgres, include the environment variable POSTGRES_AUTH=entra. If you're using Azure Easy Auth for user authentication, set environment variable USER_AUTH=MS_EASY_AUTH.

Database Permissions

If you need to grant a user app_user read-write privileges then connect as superuser to the chellow database and do:

GRANT CONNECT ON DATABASE chellow TO app_user;
GRANT USAGE ON SCHEMA public TO app_user;
GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO app_user;
GRANT USAGE, SELECT, UPDATE ON ALL SEQUENCES IN SCHEMA public TO app_user;
GRANT EXECUTE ON ALL FUNCTIONS IN SCHEMA public TO app_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT SELECT, INSERT, UPDATE, DELETE ON TABLES TO app_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT USAGE, SELECT, UPDATE ON SEQUENCES TO app_user;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT EXECUTE ON FUNCTIONS TO app_user;

Manually Upgrading Chellow

To upgrade to the latest version of Chellow do: pip install --upgrade chellow

Automatically Upgrading Chellow

The bash script chellow_upgrader.sh will check for a new version of Chellow and if one's there it will stop Chellow, then do the upgrade, then start Chellow.

Using with systemd

Copy the following files into the /etc/systemd/system directory:

and modify them as appropriate. The chellow_upgrader.service uses the chellow_upgrader.sh script above. The you should be able to use the following commands:

  • Start Chellow: sudo systemctl start chellow
  • Make Chellow run on startup: sudo systemctl enable chellow
  • Start the Chellow Upgrader: sudo systemctl start chellow_upgrader.timer
  • Make Chellow Upgrader run on startup: sudo systemctl enable chellow_upgrader.timer

Using A Different Webserver

Chellow comes bundled with the Waitress webserver, but the is also a Python WSGI web application so Chellow can be used with any WSGI compliant application server, eg Gunicorn. The WSGI app that should be specified is chellow.app.

Getting Started

This is a brief guide to setting things up after you've installed Chellow. It assumes that you have a basic knowledge of UK electricity billing. It goes through the steps of adding a half-hourly (HH) metered supply, and producing virtual bills for it, and then importing an actual bill and running a bill check.

Chellow can handle non-half-hourly supplies as well as half-hourly, and it can also deal with gas supplies, but we'll use a half-hourly electricity supply for this example.

View the Chellow home page

Assuming you've installed Chellow correctly, you should be able to open your browser, type in the URL of the Chellow application, and see the Chellow home page.

Users

Before any users are added, if you access Chellow from localhost you'll have read / write access. Once users are added, you have to log in as one of those users. Users are added from the 'users' page.

Importing Market Domain Data

Follow the instructions at /e/mdd_imports to import the Market Domain Data into Chellow.

Add HHDC Contracts

Every supply must a have a data collector. Add in a new HHDC by going to the 'HHDC Contracts' page and then clicking on the 'Add' link.

Add MOP Contracts

Every supply must a have a meter operator. Add in a new MOP by going to the 'MOP Contracts' page and then clicking on the 'Add' link. For now just put in a simple virtual bill for the MOP, so in the 'script' field enter:

    from chellow.utils import reduce_bill_hhs


    def virtual_bill_titles():
        return ['net-gbp']    

    
    def virtual_bill(data_source):
        for hh in data_source.hh_data:
	bill_hh = data_source.mop_bill_hhs[hh['start-date']]
            if hh['utc-is-month-end']:
                bill_hh['net-gbp'] = 10
        data_source.mop_bill = reduce_bills_hh(data_source.mop_bill_hhs)

Add Supplier Contracts

Click on the 'supplier contracts' link and then fill out the 'Add a contract' form. For the Charge Script field enter:

    from chellow.utils import reduce_bill_hhs

    def virtual_bill_titles():
        return ['net-gbp', 'day-kwh', 'day-gbp', 'night-kwh', 'night-gbp']    
    
    def virtual_bill(data_source):
        bill = data_source.supplier_bill 
    
        for hh in data_source.hh_data:
						bill_hh = data_source.supplier_bill_hhs[hh['start-date']]
            if 0 < hh['utc-decimal-hour'] < 8:
                bill_hh['night-kwh'] = hh['msp-kwh']
                bill_hh['night-gbp'] = hh['msp-kwh'] * 0.05
            else:
                bill_hh['day-kwh'] = hh['msp-kwh']
                bill_hh['day-gbp'] = hh['msp-kwh'] * 0.1
    
		bill_hh['net-gbp'] = sum(
		v for k, v in bill_hh.items() if k[-4:] == '-gbp')

		data_source.supplier_bill = reduce_bill_hhs(
			data_source.supplier_bill_hhs)

This will generate a simple virtual bill based on a day / night tariff. Supplier contract scripts can be much more sophisticated than this, including DUoS, TNUoS, BSUoS, RO and many other standard charges. These will be addressed later on in this guide.

Also, don't worry about the 'properties' field for now.

Add a Site

Go to the 'sites' link on the home page, and click 'add'. Fill out the form and create the site.

Add a Supply

To add a supply to a site, go to the site's page and click on 'edit'. Half-way down the page there's an 'Insert an electricity supply' form. For a standard electricity supply the 'source' is 'net'. Make sure the profile class (PC) is '00' to indicate to Chellow that it's a half-hourly metered supply. The SSC field is left blank for a half-hourly as they don't have an SSC.

A supply is formed from a series of eras. Each era has different characteristics to capture the history of a supply.

Run a Virtual Bill

At this stage it should be possible to run a virtual bill for the supply you've added. Go to the supply's page and click on the 'Supplier Virtual Bill' link. That should return a page showing the virtual bill for the supply.

Of course, the consumption will be zero because we haven't added in any half-hourly data yet.

Add Some HH Data

On the page of the supply you've created, you'll see that there's a 'channels' link, with an 'add' link next to it. Add an active import channel for the half-hourly data to be attached to.

Back on the supply page a link to the channel you just created will have appeared. Click on this and fill out the form for adding a half-hour of data.

If you then re-run the virtual bill for the period in which you added the half-hour, it should show up in the virtual bill.

It's tedious to add HH data one by one, so if you go to the page of the HHDC contract that you've created, you'll see a 'HH Data Imports' link. Click on this and there's a form for uploading HH data in bulk in a variety of formats. Chellow can also be set up to import files automatically from an FTP server.

Virtual Bills For A Contract

To see the virtual bills for a supplier contract, go to the contract page and follow the Virtual Bills link.

Data Structure

  • Site
  • Supply
    • Supply Era
      • Site
      • MOP Contract
      • DC Contract
      • Profile Class
      • Imp / Exp Supplier Contract
      • Imp / Exp Mpan Core
      • Imp / Exp LLFC
      • Imp / Exp Supply Capacity
      • Imp / Exp Channels
        • HH Data
  • Supplier Contracts (Same for DC and MOP)
    • Rate Scripts
    • Batches
      • Bills
        • Supply
        • Register Reads
  • DNOs (Distribution Network Operators)
    • LLFCs (Line Loss Factor Classes)

General Imports

The menu has a link called 'General Import' which take you to a page for doing bulk insert / update / delete operations on Chellow data (eg. Sites, Supplies, LLFCs etc.) using a CSV file.

Common Tasks

Merging Two Supplies

Say there are two supplies A and B, and you want to end up with just A. The steps are:

  1. Back up the data by taking a snapshot of the database.
  2. Check that A and B have the same header data (LLFC, MTC etc).
  3. See if there are any overlapping channels, eg. do both A and B have import kVArh? If there are, then decide which one is going to be kept.
  4. Load the hh data for the required channels from the backup file. First take a copy of the file, then edit out the data you don't want, then further edit the file so that it loads into the new supply.
  5. Delete supply B.

Local Reports

Core reports come with Chellow, but it's possible for users to create custom reports. Reports are written in Python, and often use a Jinja2 template. You can display a link to a report of user reports by adding the local_reports_id to the configuration non-core contract.

Default users

Default users can be automatically assigned to requests from certain IP addresses. To associate an IP address to a user, go to the non-core contract configuration and add a line to the 'properties' field similar to the following:

  {
    'ips': {'127.0.0.1': 'implicit-user@localhost'}
  }

Note that multiple IP addresses can be mapped to the same user.

It's also possible to use Microsoft Active Directory to authenticate users with a reverse proxy server. Edit the configuration non-core contract and add something like:

  {
    "ad_authentication": {
      "default_user": "readonly@example.com",
      "on": true
  }

Design Decisions

Why don't you use the +/- infinity values for timestamps? The problem is that it's not clear how this would translate into Python. So we currently use null for infinity, which naturally translates into None in Python.

Contributing

The web interface uses HTML, CSS and HTMX.

Release files for chellow 1789633636.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for chellow 1789633636.0.0
File Size Uploaded
chellow-1789633636.0.0.tar.gz 661.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for chellow 1789633636.0.0
File Interpreter ABI Platform
chellow-1789633636.0.0-py3-none-any.whl Python 3 none any Details

Total release size:1.4 MB

Release files / chellow-1789633636.0.0.tar.gz

Download URL chellow-1789633636.0.0.tar.gz
Size 661.5 kB
Tags Source
SHA-256 checksum
How to use checksums
84387c469e8d35377b1cb0a2893fadb42eb334f93d42f738e0d8f5cc804d76db
BLAKE2b-256 checksum
How to use checksums
fc22424f32d5d9c829c5e69cb196ace01060851646442b52052bc8a15a46a7bb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release files / chellow-1789633636.0.0-py3-none-any.whl

Download URL chellow-1789633636.0.0-py3-none-any.whl
Size 692.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
df810370f673e263c9192b486fea7d0e03659d8cb84d312a86937bd64d446407
BLAKE2b-256 checksum
How to use checksums
e9c12b4c7e08969bba51418dba7bb4cfd914ab77f89e107118b972dce61ae5b0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1789633636.0.0 This release

2 release files

2827

2 release files

2826

2 release files

2825

2 release files

2824

2 release files

2823

2 release files

2822

2 release files

2821

2 release files

2820

2 release files

2819

2 release files

2818

2 release files

2817

2 release files

2816

2 release files

2815

2 release files

2814

2 release files

2813

2 release files

2812

2 release files

2811

2 release files

2810

2 release files

2809

2 release files

2808

2 release files

2807

2 release files

2805

2 release files

2804

2 release files

2803

2 release files

2802

2 release files

2801

2 release files

2800

2 release files

2799

2 release files

2798

2 release files

2797

2 release files

2796

2 release files

2795

2 release files

2794

2 release files

2793

2 release files

2792

2 release files

2791

2 release files

2790

2 release files

2789

2 release files

2788

2 release files

2784

1 release file

2783

2 release files

2782

2 release files

2781

2 release files

2780

2 release files

2779

2 release files

2778

2 release files

2777

2 release files

2776

2 release files

2775

2 release files

2774

2 release files

2773

2 release files

2772

2 release files

2771

2 release files

2770

2 release files

2769

2 release files

2768

2 release files

2767

2 release files

2764

2 release files

2763

2 release files

2760

1 release file

2758

2 release files

2757

2 release files

2756

2 release files

2755

2 release files

2753

2 release files

2752

2 release files

2751

2 release files

2750

2 release files

2749

2 release files

2747

2 release files

2746

2 release files

2745

2 release files

2744

2 release files

2743

2 release files

2742

2 release files

2741

2 release files

2740

2 release files

2739

2 release files

2738

2 release files

2737

2 release files

2736

2 release files

2735

2 release files

2733

2 release files

2732

2 release files

2731

2 release files

2730

2 release files

2729

2 release files

2728

2 release files

2727

2 release files

2726

2 release files

2725

2 release files

2723

2 release files

2722

2 release files

2720

2 release files

2719

2 release files

2718

2 release files

2717

2 release files

2716

2 release files

2715

2 release files

2714

2 release files

2713

2 release files

2712

2 release files

2711

2 release files

2710

2 release files

2709

2 release files

2708

2 release files

2707

2 release files

2706

2 release files

2705

2 release files

2704

2 release files

2703

2 release files

2702

2 release files

2701

2 release files

2700

2 release files

2698

2 release files

2696

2 release files

2695

2 release files

2694

2 release files

2693

2 release files

2692

2 release files

2691

2 release files

2690

2 release files

2689

2 release files

2688

2 release files

2687

2 release files

2686

2 release files

2682

2 release files

2681

2 release files

2680

2 release files

2679

2 release files

2678

2 release files

2677

2 release files

2676

2 release files

2675

2 release files

2674

2 release files

2673

2 release files

2672

2 release files

2671

2 release files

2670

2 release files

2669

2 release files

2668

2 release files

2667

2 release files

2666

2 release files

2665

2 release files

2664

2 release files

2663

2 release files

2662

2 release files

2661

2 release files

2659

2 release files

2657

2 release files

2656

2 release files

2655

2 release files

2653

2 release files

2651

2 release files

2650

2 release files

2649

2 release files

2648

2 release files

2647

2 release files

2645

2 release files

2644

2 release files

2643

2 release files

2642

2 release files

2641

2 release files

2638

2 release files

2637

2 release files

2636

2 release files

2634

2 release files

2631

2 release files

2629

2 release files

2628

2 release files

2627

2 release files

2626

2 release files

2625

2 release files

2624

2 release files

2623

2 release files

2622

2 release files

2621

2 release files

2620

2 release files

2619

2 release files

2618

2 release files

2617

2 release files

2616

2 release files

2615

2 release files

2614

2 release files

2613

2 release files

2611

2 release files

2610

2 release files

2608

2 release files

2606

2 release files

2605

2 release files

2604

2 release files

2603

2 release files

2602

2 release files

2601

2 release files

2600

1 release file

2599

2 release files

2598

2 release files

2597

2 release files

2596

2 release files

2595

2 release files

2594

2 release files

2593

2 release files

2592

2 release files

2591

2 release files

2590

2 release files

2589

2 release files

2588

2 release files

2587

2 release files

2585

2 release files

2583

2 release files

2582

2 release files

2581

2 release files

2580

2 release files

2579

2 release files

2578

2 release files

2577

1 release file

2576

2 release files

2575

2 release files

2574

2 release files

2573

2 release files

2572

2 release files

2571

1 release file

2570

2 release files

2569

2 release files

2568

2 release files

2567

2 release files

2565

2 release files

2564

2 release files

2563

2 release files

2562

2 release files

2561

2 release files

2560

2 release files

2559

2 release files

2558

2 release files

2557

2 release files

2556

2 release files

2555

2 release files

2553

2 release files

2552

2 release files

2551

2 release files

2550

2 release files

2549

2 release files

2548

2 release files

2547

2 release files

2546

2 release files

2544

2 release files

2543

2 release files

2542

2 release files

2540

2 release files

2539

2 release files

2538

2 release files

2537

2 release files

2536

2 release files

2535

2 release files

2534

2 release files

2533

2 release files

2531

2 release files

2529

2 release files

2528

2 release files

2527

2 release files

2526

2 release files

2525

2 release files

2524

2 release files

2523

2 release files

2522

2 release files

2520

2 release files

2519

2 release files

2518

2 release files

2517

2 release files

2516

2 release files

2515

2 release files

2514

2 release files

2513

2 release files

2510

2 release files

2509

2 release files

2508

2 release files

2507

2 release files

2506

2 release files

2505

2 release files

2504

2 release files

2503

2 release files

2502

2 release files

2501

2 release files

2500

2 release files

2499

2 release files

2498

2 release files

2497

2 release files

2496

2 release files

2495

2 release files

2494

2 release files

2493

2 release files

2492

2 release files

2491

2 release files

2490

2 release files

2489

2 release files

2488

2 release files

2487

2 release files

2485

2 release files

2484

2 release files

2483

2 release files

2482

2 release files

2481

2 release files

2480

2 release files

2479

2 release files

2478

2 release files

2477

2 release files

2476

2 release files

2475

2 release files

2474

2 release files

2473

2 release files

2472

2 release files

2471

2 release files

2470

2 release files

2469

2 release files

2468

2 release files

2467

2 release files

2466

2 release files

2465

2 release files

2464

2 release files

2463

2 release files

2462

2 release files

2460

2 release files

2459

2 release files

2458

2 release files

2457

2 release files

2456

2 release files

2455

2 release files

2454

2 release files

2453

2 release files

2452

2 release files

2451

2 release files

2450

2 release files

2449

2 release files

2447

2 release files

2446

2 release files

2445

2 release files

2444

2 release files

2442

2 release files

2440

2 release files

2439

2 release files

2438

2 release files

2437

2 release files

2435

2 release files

2434

2 release files

2433

2 release files

2432

2 release files

2431

2 release files

2430

2 release files

2422

2 release files

2420

2 release files

2419

2 release files

2418

2 release files

2417

2 release files

2416

2 release files

2415

2 release files

2414

2 release files

2413

2 release files

2412

2 release files

2411

2 release files

2410

2 release files

2408

2 release files

2405

2 release files

2404

2 release files

2403

2 release files

2402

2 release files

2401

2 release files

2400

2 release files

2399

2 release files

2397

2 release files

2396

2 release files

2394

2 release files

2393

2 release files

2392

2 release files

2391

2 release files

2390

2 release files

2389

2 release files

2388

2 release files

2387

2 release files

2384

2 release files

2383

2 release files

2382

2 release files

2381

2 release files

2380

2 release files

2379

2 release files

2378

2 release files

2377

2 release files

2376

2 release files

2375

2 release files

2374

2 release files

2373

2 release files

2372

2 release files

2371

2 release files

2370

2 release files

2369

2 release files

2368

2 release files

2367

2 release files

2366

2 release files

2365

2 release files

2362

1 release file

2361

1 release file

2360

1 release file

2358

1 release file

2357

1 release file

2356

1 release file

2355

1 release file

2354

1 release file

2353

1 release file

2351

1 release file

2350

1 release file

2349

1 release file

2348

1 release file

2347

1 release file

2346

1 release file

2345

1 release file

2344

1 release file

2343

1 release file

2341

1 release file

2340

1 release file

2339

1 release file

2338

1 release file

2337

1 release file

2336

1 release file

2335

1 release file

2334

1 release file

2333

1 release file

2332

1 release file

2331

1 release file

2328

1 release file

2327

1 release file

2326

1 release file

2325

1 release file

2324

1 release file

2323

1 release file

2322

1 release file

2321

1 release file

2320

1 release file

2319

1 release file

2318

1 release file

2317

1 release file

2316

1 release file

2314

1 release file

2312

1 release file

2311

1 release file

2310

1 release file

2309

1 release file

2308

1 release file

2307

1 release file

2303

1 release file

2302

1 release file

2301

1 release file

2300

1 release file

2299

1 release file

2298

1 release file

2294

1 release file

2293

1 release file

2292

1 release file

2291

1 release file

2290

1 release file

2289

1 release file

2288

1 release file

2287

1 release file

2286

1 release file

2285

1 release file

2284

1 release file

2283

1 release file

2282

1 release file

2281

1 release file

2280

1 release file

2279

1 release file

2278

1 release file

2277

1 release file

2276

1 release file

2275

1 release file

2274

1 release file

2273

1 release file

2272

1 release file

2271

1 release file

2270

1 release file

2269

1 release file

2268

1 release file

2267

1 release file

2266

1 release file

2265

1 release file

2264

1 release file

2263

1 release file

2261

1 release file

2260

1 release file

2259

1 release file

2258

1 release file

2257

1 release file

2256

1 release file

2254

1 release file

2253

1 release file

2252

1 release file

2251

1 release file

2250

1 release file

2249

1 release file

2248

1 release file

2247

1 release file

2246

1 release file

2245

1 release file

2244

1 release file

2243

1 release file

2241

1 release file

2240

1 release file

2239

1 release file

2238

1 release file

2237

1 release file

2236

1 release file

2235

1 release file

2234

1 release file

2233

1 release file

2232

1 release file

2231

1 release file

2230

1 release file

2229

1 release file

2228

1 release file

2227

1 release file

2226

1 release file

2225

1 release file

2224

1 release file

2223

1 release file

2222

1 release file

2221

1 release file

2219

1 release file

2218

1 release file

2217

1 release file

2216

1 release file

2215

1 release file

2214

1 release file

2213

1 release file

2212

1 release file

2211

1 release file

2210

1 release file

2209

1 release file

2208

1 release file

2207

1 release file

2206

1 release file

2205

1 release file

2204

1 release file

2203

1 release file

2202

1 release file

2201

1 release file

2200

1 release file

2198

1 release file

2197

1 release file

2196

1 release file

2195

1 release file

2194

1 release file

2193

1 release file

2192

1 release file

2191

1 release file

2190

1 release file

2189

1 release file

2184

1 release file

2183

1 release file

2182

1 release file

2181

1 release file

2180

1 release file

2179

1 release file

2178

1 release file

2177

1 release file

2176

1 release file

2174

1 release file

2173

1 release file

2172

1 release file

2171

1 release file

2170

1 release file

2169

1 release file

2168

1 release file

2167

1 release file

2165

1 release file

2164

1 release file

2163

1 release file

2162

1 release file

2161

1 release file

2160

1 release file

2159

1 release file

2158

1 release file

2157

1 release file

2156

1 release file

2155

1 release file

2154

1 release file

2153

1 release file

2152

1 release file

2151

1 release file

2150

1 release file

2149

1 release file

2148

1 release file

2147

1 release file

2145

1 release file

2144

1 release file

2143

1 release file

2142

1 release file

2141

1 release file

2140

1 release file

2139

1 release file

2138

1 release file

2137

1 release file

2136

1 release file

2135

1 release file

2134

1 release file

2133

1 release file

2132

1 release file

2131

1 release file

2130

1 release file

2129

1 release file

2128

1 release file

2127

1 release file

2126

1 release file

2125

1 release file

2124

1 release file

2123

1 release file

2122

1 release file

2120

1 release file

2117

1 release file

2116

1 release file

2115

1 release file

2114

1 release file

2113

1 release file

2112

1 release file

2111

1 release file

2110

1 release file

2109

1 release file

2108

1 release file

2107

1 release file

2106

1 release file

2105

1 release file

2104

1 release file

2103

1 release file

2102

1 release file

2101

1 release file

2100

1 release file

2099

1 release file

2097

1 release file

2096

1 release file

2095

1 release file

2094

1 release file

2093

1 release file

2092

1 release file

2091

1 release file

2090

1 release file

2089

1 release file

2088

1 release file

2087

1 release file

2086

1 release file

2085

1 release file

2084

1 release file

2083

1 release file

2082

1 release file

2081

1 release file

2080

1 release file

2079

1 release file

2078

1 release file

2077

1 release file

2076

1 release file

2075

1 release file

2074

1 release file

2071

1 release file

2070

1 release file

2069

1 release file

2068

1 release file

2067

1 release file

2066

1 release file

2065

1 release file

2064

1 release file

2063

1 release file

2062

1 release file

2061

1 release file

2060

1 release file

2059

1 release file

2058

1 release file

2057

1 release file

2056

1 release file

2055

1 release file

2054

1 release file

2053

1 release file

2052

1 release file

2051

1 release file

2050

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page