Observed since 20 Oct, 18:26 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
across-client
# across-client [](https://github.com/ACROSS-Team/across-client/actions/workflows/smoke-test.yml) <!-- [](https://lincc-ppt.readthedocs.io/en/latest/) [](https://pypi.org/project/across-client/) [](https://github.com/NASA-ACROSS/across-client/actions/workflows/sm
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.
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.
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
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(...),
)
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.
.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.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.
Found a bug? Want to make a feature request? Or create a pull request? Navigate to our Contributing document for more instructions!
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.
Download counts and popularity will appear here as the collector receives them.
| Package / target | Requirement | Relationship |
|---|---|---|
across-toolsEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | across-tools | runtime |
across-server-openapi-pythonEnvironment{
"extras": "",
"marker": null,
"requires_python": ">=3.10",
"evaluation": "NOT_EVALUATED"
} | across-server-openapi-python>=1.4.0 | runtime |
bdist_wheel · 22.86 KB · Python py3
sdist · 316.31 KB · Python source
Observed since 20 Oct, 18:26 UTC
No superseded metadata states collected. Unchanged observations do not create new revisions.
package_version:1345959615c1174508dcf7f5be8283d07e8cf656c7cb7c8aa3a9bd52b3946ca3