Catalog PyPI
Back to packageRELEASE DETAILS

1.3.0

PyPI

across-client

# across-client [![Unit test and smoke test](https://github.com/ACROSS-Team/across-client/actions/workflows/smoke-test.yml/badge.svg)](https://github.com/ACROSS-Team/across-client/actions/workflows/smoke-test.yml) <!-- [![Template](https://img.shields.io/badge/Template-LINCC%20Frameworks%20Python%20Project%20Template-brightgreen)](https://lincc-ppt.readthedocs.io/en/latest/) [![PyPI](https://img.shields.io/pypi/v/across-client?color=blue&logo=pypi&logoColor=white)](https://pypi.org/project/across-client/) [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/NASA-ACROSS/across-client/smoke-test.yml)](https://github.com/NASA-ACROSS/across-client/actions/workflows/sm

Published3 Aug 2026
Direct dependencies2
Transitive dependenciesNot calculated

README

Version 1.3.0 documentation

across-client

Unit test and smoke test

The across-client is the NASA-ACROSS library used to access and manipulate the across-server data. What separates this package from the autogenerated sdk is that it also levarages the across-tools package to give users a single interface for all of their cross-observatory science needs.

Access

To access our observatory data (telescopes, instruments, schedues, etc) on the across-server, users DO NOT require any authentication. But if an observatory user-group wants to use the API to publish their planned/completed observing schedules they are required to register, and obtain client credentials through the website.

Installation

This repository can be installed on python (version >=3.10) environments.

#activate your python environment (conda, mamba, venv... etc)
git clone https://github.com/NASA-ACROSS/across-client.git
cd across-client
python -m pip install .

or the latest released version with pip

python -m pip install across-client

Usage

Below is a small example on how to utilize the client to access JWST Nircam performed observations. For more examples on how to access observatory science data or use our observatory tools endpoints, please go to our examples folder.

from datetime import datetime
from across.client import Client

# client credentials are only required for publishing schedules
ACROSS_SERVER_ID: str = "..."
ACROSS_SERVER_SECRET: str = "..."

client = Client(client_id=ACROSS_SERVER_ID, client_secret=ACROSS_SERVER_SECRET)

nircam = client.instrument.get_many(name="nircam")[0]

nircam_observations = client.observation.get_many(
   instrument_ids=[nircam.id],
   status="performed",
   date_range_begin=datetime(...),
   date_range_end=datetime(...),
)

Running the Client in Development

If you are running a development instance of the ACROSS software system, it is straightforward to point your client installation to your local ACROSS core-server instance.

  1. Follow the server installation instructions here.
  2. Copy or duplicate the .env.example file in the root directory of this repository and rename it to .env. Important: This overrides the client's host from the default production server to your local instance by setting the ACROSS_SERVER_HOST and ACROSS_SERVER_PORT variables to the local server's host and port, which by default is host: http://localhost and port: 8000.
  3. Instantiate a new Client object, see the example below, and it should now be set up to interface with your local development server!

Using this local setup, you can test submitting schedules to ACROSS. The local server provides a seeded service account with schedule write permissions. Simply instantiate the client using these credentials and you can post a schedule to your local server:

from across.client import Client


ACROSS_SERVER_ID = "961fbb3b-dd5e-45ff-a282-41033e43933d"
ACROSS_SERVER_SECRET = "prehibernationweek"

client = Client(
   client_id=ACROSS_SERVER_ID,
   client_secret=ACROSS_SERVER_SECRET,
)
created_schedule_id = client.schedule.post(...)

schedule = client.schedule.get(created_schedule_id)

print(schedule)

For ease of use, these ACROSS_SERVER_ID and ACROSS_SERVER_SECRET variables are part of the .env.example file.

Contributing

Found a bug? Want to make a feature request? Or create a pull request? Navigate to our Contributing document for more instructions!

Open Science at NASA

Notice

NASA Docket No. GSC-19,469-1, and identified as "Astrophysics Cross-Observatory Science Support (ACROSS) System

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.“

Copyright © 2025 United States Government as represented by the Administrator of the National Aeronautics and Space Administration and The Penn State Research Foundation. All rights reserved. This software is licensed under the Apache 2.0 License.

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 2

Native requirements
2 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
across-tools
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
across-toolsruntime
across-server-openapi-python
Environment
{
  "extras": "",
  "marker": null,
  "requires_python": ">=3.10",
  "evaluation": "NOT_EVALUATED"
}
across-server-openapi-python>=1.4.0runtime

Distribution files

2 collected
across_client-1.3.0-py3-none-any.whl

bdist_wheel · 22.86 KB · Python py3

Source file
across_client-1.3.0.tar.gz

sdist · 316.31 KB · Python source

Source file

Repository

PENDING
nasa-across/across-client

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 18:26 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:1345959615c1174508dcf7f5be8283d07e8cf656c7cb7c8aa3a9bd52b3946ca3

Other collected versions

View all collected versions →