Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (
Help us improve Python packaging - Donate today!

SHADOW is an open source ray tracing code for modeling optical systems.

Project Description



1 What is SHADOW
2 Download
3 Source files
4 Building SHADOW
5 Other info
6 Contact

1 What is SHADOW

SHADOW is an open source ray tracing code for modeling optical systems.

Targeted to synchrotron radiation beamlines, it has unique features for
designing X-ray optical systems.

For more info, please read this paper (open access):

SHADOW3: a new version of the synchrotron X-ray optics modelling package
M. Sanchez del Rio, N. Canestrari, F. Jiang and F. Cerrina
Journal of Synchrotron Radiation Volume 18, Part 5 (September 2011)

2 Download

SHADOW3 sources are downloaded using git:

since 2015-10-16 the master shadow3 git repository is at

git clone

however, the original repository at the EPN-campus is maintained, and
will be kept updated, from time to time:

git clone git://

Other SHADOW web resources:

shadow3 binary distributions (not updated):
shadow2: ( - obsoleted - )

Shadow Primer (for using shadow3 in command mode)

SHADOW user interfaces:
Pretty fancy and new interface under python/oasys:

The traditional IDL-based interface working under XOP 2.4 and 2.3

Official reference:

3 Important files

in shadow3/src: fortran, c and other sources
in Shadow: python sources

in docs: README files:
source.nml (description of the source variables, as in start.00)
oe.nml (description of the optical element variables, as in start.01)

in data: data files:
PRELIB1.DAT and PRELIB2.DAT (data file containg the oprical library)

4 Building SHADOW
cd src
Check (edit) the Makefile if you need to redefine compilers etc.
The use of Makefile is documented in its header. Basically:
make : builds shadow3 the main program
make all : builds shadow3, libraries, etc
make install : installation (see Makefile)

python API:
in shadow3 directory, use the standard python setup:

python3 build
sudo python3 install

5 Other info

6 Contact

SHADOW is currently maintained by Manuel Sanchez del Rio (

Release History

This version
History Node


History Node


History Node


History Node


History Node


Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Hash SHA256 Hash Help Version File Type Upload Date
(592.4 kB) Copy SHA256 Hash SHA256
Source Jul 29, 2016

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting