You're Invited:Meet the Socket Team at RSAC and BSidesSF 2026, March 23–26.RSVP
Socket
Book a DemoSign in
Socket

afterglowpy

Package Overview
Dependencies
Maintainers
1
Versions
15
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

afterglowpy - pypi Package Compare versions

Comparing version
0.8.0
to
0.8.1
+29
-6
afterglowpy.egg-info/PKG-INFO

@@ -1,4 +0,4 @@

Metadata-Version: 2.1
Metadata-Version: 2.2
Name: afterglowpy
Version: 0.8.0
Version: 0.8.1
Summary: GRB Afterglow Models

@@ -24,6 +24,17 @@ Home-page: https://github.com/geoffryan/afterglowpy

Requires-Dist: numpydoc; extra == "docs"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary
# Numeric GRB Afterglow models
A Python 3 module to calculate GRB afterglow light curves and spectra. Details of the methods can be found in [Ryan et al 2020](https://ui.adsabs.harvard.edu/abs/2020ApJ...896..166R/abstract). Builds on [van Eerten & MacFadyen 2010](https://arxiv.org/abs/1006.5125) and [van Eerten 2018](https://arxiv.org/abs/1801.01848). This code is under active development.
A Python 3 module to calculate GRB afterglow light curves and spectra. Details of the methods can be found in [Ryan et al 2020](https://ui.adsabs.harvard.edu/abs/2020ApJ...896..166R/abstract) and [Ryan et al 2024](https://ui.adsabs.harvard.edu/abs/2024ApJ...975..131R/abstract). Builds on [van Eerten & MacFadyen 2010](https://arxiv.org/abs/1006.5125) and [van Eerten 2018](https://arxiv.org/abs/1801.01848). This code is under active development.

@@ -34,3 +45,3 @@ Documentation available at <https://afterglowpy.readthedocs.io/>

If you use this code in a publication, please refer to the package by name and cite "Ryan, G., van Eerten, H., Piro, L. and Troja, E., 2020, Astrophysical Journal *896*, 166 (2020)" [arXiv link](https://arxiv.org/abs/1909.11691).
If you use this code in a publication, please refer to the package by name and cite "Ryan, G., van Eerten, H., Piro, L. and Troja, E., Astrophysical Journal *896*, 166 (2020)" [ADS link](https://ui.adsabs.harvard.edu/abs/2020ApJ...896..166R/abstract). Upgrades including centroid motion, size, and the deep Newtonian phase are presented in "Ryan, G., van Eerten, H., Troja, E., Piro, L., O'Connor, B., and Ricci, R., Astrophysical Journal *975*, 131 (2024)" [ADS link](https://ui.adsabs.harvard.edu/abs/2024ApJ...975..131R/abstract).

@@ -66,5 +77,14 @@ ## Acknowledgements

## Changelog
### New in v0.8.1
- Numpy 2.0 compatibility
- `ignoreBounds` Boolean keyword argument to ignore built-in bounds checking on parameters.
### New in v0.8.0
- Image size and position via the `moment` keyword.
- Deep Newtonian spectral evolution at late times via `specType=grb.jet.DeepNewtonian`
## Installation/Building
_afterglowpy_ is available via `pip`:

@@ -75,2 +95,4 @@ ```bash

_afterglowpy_ is compatible with Numpy v1 and v2, Python 3.8+, and runs on MacOS, Linux, and Windows.
If you are working on a local copy of this repo and would like to install from source, you can the run the following from the top level directory of the project.

@@ -90,3 +112,3 @@ ```bash

- `jetType` an integer code setting the jet structure. It can be `grb.jet.TopHat`, `grb.jet.Gaussian`, `grb.jet.PowerLawCore`, `grb.jet.GaussianCore`, `grb.jet.Spherical`, or `grb.jet.PowerLaw`.
- `specType` an integer code specifying flags for the emissivity function and spectrum. Can be `grb.jet.SimpleSpec` (basic spectrum with &nu;<sub>m</sub> and &nu;<sub>c</sub>), `grb.jet.DeepNewtonian`, `grb.jet.ICCooling` (simple inverse Compton effects on the cooling frequency, experimental).
- `specType` an integer code specifying flags for the emissivity function and spectrum. Can be `grb.jet.SimpleSpec` (basic spectrum with &nu;<sub>m</sub> and &nu;<sub>c</sub>), `grb.jet.DeepNewtonian`, `grb.jet.EpsEBar` to interpret `epsilon_e` as &epsilon;&#773;<sub>e</sub> = &epsilon;<sub>e</sub>(p-2)/(p-1), `grb.jet.ICCooling` (simple inverse Compton effects on the cooling frequency, experimental). Multiple options can be combined with the `|` operator.
- `thetaObs` viewing angle in radians

@@ -109,2 +131,3 @@ - `E0` on-axis isotropic equivalent energy in erg

- `moment` array (integer dtype, same shape as t and nu) which sky moment to compute.
- `ignoreBounds` boolean (defaults to False), whether to ignore the built in paramter bounds checking.
- `L0` Fiducial luminosity for energy injection, in erg/s, default 0.0.

@@ -111,0 +134,0 @@ - `q` Temporal power-law index for energy injection, default 0.0.

+1
-1
#!/usr/bin/env python3
"""
r"""
===========

@@ -4,0 +4,0 @@ afterglowpy

@@ -8,5 +8,4 @@ from . import cocoon

def fluxDensity(t, nu, *args, **kwargs):
"""
Compute the flux density F_nu of a GRB afterglow.
r"""
Compute the flux density :math:`F_{\nu}` of a GRB afterglow.

@@ -38,3 +37,3 @@ Utiliizes the single shell approximation described in Ryan et al 2020

Parameters
Parameters
----------

@@ -52,7 +51,15 @@ t : array_like or scalar

Flags for type of spectrum/emissivity function. Spectrum flags are
available in ``afterglowpy.jet`` and include: ``jet.SimpleSpec``
broken power law with nu_m and nu_c (Ryan+ 2020, default),
``jet.ICCooling`` simple inverse-compton contribution to cooling,
``jet.DeepNewtonian`` better handling of late-time emission when
some electrons become non-relativistic (e.g. Sironi+ 2013).
available in ``afterglowpy.jet`` and include:
- ``jet.SimpleSpec`` broken power law with nu_m and nu_c (Ryan+ 2020,
default),
- ``jet.DeepNewtonian`` better handling of late-time emission when
some electrons become non-relativistic (e.g. Sironi+ 2013),
- ``jet.EpsEBar`` interpret the epsilon_e parameter as
:math:`\bar{\epsilon}_e = \epsilon_e (p-2) / (p-1)`
(e.g. Granot & Sari 2002),
- ``jet.ICCooling`` simple inverse-compton contribution to cooling
(experimental).
Flags can be combined with the | operator.
thetaObs : float

@@ -120,5 +127,7 @@ Viewing angle in radians. Jet models only.

Whether to include counterjet emission. Defaults to False.
ignoreBounds : {'True', 'False'}, optional
Whether to ignore built-in parameter bounds checking.
moment : array_like, optional
An integer array the same shape as the larger of `t` or `nu`. Selects
which image moment to compute. Observer's sky is on the x-y plane,
which image moment to compute. Observer's sky is on the x-y plane,
with the jet propagating in the x-direction. Moments are in terms of

@@ -171,12 +180,12 @@ proper length (in cm) Options are: `jet.MOM_0` Flux, default,

t, nu = checkTNu(t, nu)
jetType = argsDict['jetType']
# Check arguments have valid values, raise ValueError if not.
# if ignoreBounds is True, these checks will be skipped.
if jetType == jet.Spherical:
checkCocoonArgs(**argsDict)
checkCocoonArgs(argsDict)
else:
checkJetArgs(**argsDict)
checkJetArgs(argsDict)
# arguments are good, full steam ahead!

@@ -188,6 +197,5 @@ z = argsDict.pop('z') if 'z' in argsDict else 0.0

# Default spreading method
if 'spread' in argsDict:
if argsDict['spread'] == True:
if argsDict['spread'] is True:
if jetType == -2 and 'thetaCoreGlobal' in argsDict:

@@ -198,3 +206,3 @@ argsDict['spread'] = 8

# This was a bad idea to add to this function, but is kept for
# This was a bad idea to add to this function, but is kept for
# backwards compatibility. Please don't use these.

@@ -217,7 +225,5 @@ LR = argsDict.pop('LR') if 'LR' in argsDict else 0.0

# Adding background luminosities.
L_to_flux = cocoon.cgs2mJy / (4*np.pi * argsDict['d_L']**2)
if LR > 0.0:

@@ -230,3 +236,3 @@ rad = (nuz < 3.0e11) & (tz > tAdd) # radio < 300 GHz

opt = (nuz >= 3.0e11) & (nuz < 100*cocoon.eV2Hz) & (tz > tAdd)
Lnu = LO * 2.32478e-5 / cocoon.c # 2324.78 A bandwidth
Lnu = LO * 2.32478e-5 / cocoon.c # 2324.78 A bandwidth
Fnu[opt] += Lnu*L_to_flux

@@ -240,3 +246,3 @@ if LX > 0.0:

Fnu *= 1+z
return Fnu

@@ -246,3 +252,3 @@

def intensity(theta, phi, t, nu, *args, **kwargs):
"""
r"""
Compute the intensity I_nu of a GRB afterglow.

@@ -257,5 +263,6 @@

the surface of the blast wave in the frame of the burst.
F_nu = \int d\Omega I_nu
.. math::
F_\nu = \int \! d\Omega\ I_\nu
Angular coordinates are in a spherical coordinate system, centered on the

@@ -282,3 +289,3 @@ burst, with z-axis aligned on the jet axis.

Parameters
Parameters
----------

@@ -301,4 +308,16 @@ theta: array_like or scalar

specType : int
Code for type of spectrum. Options are: 0 broken power law
(Ryan+ 2020), 1 broken power law w/ inverse Compton cooling. Default: 0
Flags for type of spectrum/emissivity function. Spectrum flags are
available in ``afterglowpy.jet`` and include:
- ``jet.SimpleSpec`` broken power law with nu_m and nu_c
(Ryan+ 2020, default),
- ``jet.DeepNewtonian`` better handling of late-time emission when
some electrons become non-relativistic (e.g. Sironi+ 2013),
- ``jet.EpsEBar`` interpret the epsilon_e parameter as
:math:`\bar{\epsilon}_e = \epsilon_e (p-2) / (p-1)`
(e.g. Granot & Sari 2002),
- ``jet.ICCooling`` simple inverse-compton contribution to cooling
(experimental).
Flags can be combined with the | operator.
thetaObs : float

@@ -352,2 +371,4 @@ Viewing angle in radians. Jet models only.

Whether to include counterjet emission. Defaults to False.
ignoreBounds : {'True', 'False'}, optional
Whether to ignore built-in parameter bounds checking.
tRes : int, optional

@@ -385,3 +406,3 @@ Time resolution, number of points per decade in t, for shock evolution.

"""
argsDict = parseArgs(args, kwargs)

@@ -394,6 +415,8 @@

# Check arguments have valid values, raise ValueError if not.
# if ignoreBounds is True, these checks will be skipped.
if jetType == jet.Spherical:
checkCocoonArgs(**argsDict)
checkCocoonArgs(argsDict)
else:
checkJetArgs(**argsDict)
checkJetArgs(argsDict)

@@ -414,8 +437,8 @@ # arguments are good, full steam ahead!

argsDict['spread'] = 7
# Intercept background luminosities, then ignore them.
LR = argsDict.pop('LR') if 'LR' in argsDict else 0.0
LO = argsDict.pop('LO') if 'LO' in argsDict else 0.0
LX = argsDict.pop('LX') if 'LX' in argsDict else 0.0
tAdd = argsDict.pop('tAdd') if 'tAdd' in argsDict else 0.0
_ = argsDict.pop('LR') if 'LR' in argsDict else 0.0
_ = argsDict.pop('LO') if 'LO' in argsDict else 0.0
_ = argsDict.pop('LX') if 'LX' in argsDict else 0.0
_ = argsDict.pop('tAdd') if 'tAdd' in argsDict else 0.0

@@ -512,5 +535,8 @@ Inu = np.empty(theta.shape)

def checkJetArgs(**argsDict):
def checkJetArgs(argsDict):
return
if 'ignoreBounds' in argsDict:
ignore = argsDict.pop('ignoreBounds')
if ignore:
return

@@ -531,4 +557,4 @@ jetType = argsDict['jetType']

# More-or-less universal bounds
if theta_obs < 0.0 or theta_obs > 0.5*np.pi:
raise ValueError("theta_obs must be in [0.0, pi/2]")
if theta_obs < 0.0 or theta_obs > np.pi:
raise ValueError("theta_obs must be in [0.0, pi]")
if E0 <= 0.0:

@@ -542,5 +568,5 @@ raise ValueError("E0 must be positive")

raise ValueError("n0 must be positive")
if specType != 2 and p <= 2.0:
if (specType & jet.EpsEBar) == 0 and p <= 2.0:
raise ValueError("p must be in (2, inf)")
if specType == 2 and p <= 1.0:
if (specType & jet.EpsEBar) != 0 and p <= 1.0:
raise ValueError("p must be in (1, inf)")

@@ -610,4 +636,9 @@ if epse <= 0.0 or epse > 1.0:

def checkCocoonArgs(**argsDict):
def checkCocoonArgs(argsDict):
if 'ignoreBounds' in argsDict:
ignore = argsDict.pop('ignoreBounds')
if ignore:
return
for _, x in argsDict.items():

@@ -685,3 +716,3 @@ if not np.isfinite(x):

def parseArgs(args, kwargs):
"""
r"""
Parse the arguments to fluxDensity() or intensity(). Supports both

@@ -688,0 +719,0 @@ positional and keyword arguments for now.

@@ -20,2 +20,4 @@ #ifndef AFTERGLOWPY_INTERVAL

#undef I
struct Interval

@@ -22,0 +24,0 @@ {

@@ -39,3 +39,3 @@ #include <Python.h>

static const int envType_default = ENV_ISM;
static const double R0_env_default = 1e18;
static const double R0_env_default = 1e17;
static const double k_env_default = 0.0;

@@ -42,0 +42,0 @@ static const double rho1_env_default = 1.0;

#!/usr/bin/env python3
"""Version info"""
r"""Version info"""
__short_version__ = '0.8'
__version__ = '0.8.0'
__version__ = '0.8.1'

@@ -1,1 +0,1 @@

include version.py afterglowpy/*.h
include afterglowpy/version.py afterglowpy/*.h

@@ -1,4 +0,4 @@

Metadata-Version: 2.1
Metadata-Version: 2.2
Name: afterglowpy
Version: 0.8.0
Version: 0.8.1
Summary: GRB Afterglow Models

@@ -24,6 +24,17 @@ Home-page: https://github.com/geoffryan/afterglowpy

Requires-Dist: numpydoc; extra == "docs"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: summary
# Numeric GRB Afterglow models
A Python 3 module to calculate GRB afterglow light curves and spectra. Details of the methods can be found in [Ryan et al 2020](https://ui.adsabs.harvard.edu/abs/2020ApJ...896..166R/abstract). Builds on [van Eerten & MacFadyen 2010](https://arxiv.org/abs/1006.5125) and [van Eerten 2018](https://arxiv.org/abs/1801.01848). This code is under active development.
A Python 3 module to calculate GRB afterglow light curves and spectra. Details of the methods can be found in [Ryan et al 2020](https://ui.adsabs.harvard.edu/abs/2020ApJ...896..166R/abstract) and [Ryan et al 2024](https://ui.adsabs.harvard.edu/abs/2024ApJ...975..131R/abstract). Builds on [van Eerten & MacFadyen 2010](https://arxiv.org/abs/1006.5125) and [van Eerten 2018](https://arxiv.org/abs/1801.01848). This code is under active development.

@@ -34,3 +45,3 @@ Documentation available at <https://afterglowpy.readthedocs.io/>

If you use this code in a publication, please refer to the package by name and cite "Ryan, G., van Eerten, H., Piro, L. and Troja, E., 2020, Astrophysical Journal *896*, 166 (2020)" [arXiv link](https://arxiv.org/abs/1909.11691).
If you use this code in a publication, please refer to the package by name and cite "Ryan, G., van Eerten, H., Piro, L. and Troja, E., Astrophysical Journal *896*, 166 (2020)" [ADS link](https://ui.adsabs.harvard.edu/abs/2020ApJ...896..166R/abstract). Upgrades including centroid motion, size, and the deep Newtonian phase are presented in "Ryan, G., van Eerten, H., Troja, E., Piro, L., O'Connor, B., and Ricci, R., Astrophysical Journal *975*, 131 (2024)" [ADS link](https://ui.adsabs.harvard.edu/abs/2024ApJ...975..131R/abstract).

@@ -66,5 +77,14 @@ ## Acknowledgements

## Changelog
### New in v0.8.1
- Numpy 2.0 compatibility
- `ignoreBounds` Boolean keyword argument to ignore built-in bounds checking on parameters.
### New in v0.8.0
- Image size and position via the `moment` keyword.
- Deep Newtonian spectral evolution at late times via `specType=grb.jet.DeepNewtonian`
## Installation/Building
_afterglowpy_ is available via `pip`:

@@ -75,2 +95,4 @@ ```bash

_afterglowpy_ is compatible with Numpy v1 and v2, Python 3.8+, and runs on MacOS, Linux, and Windows.
If you are working on a local copy of this repo and would like to install from source, you can the run the following from the top level directory of the project.

@@ -90,3 +112,3 @@ ```bash

- `jetType` an integer code setting the jet structure. It can be `grb.jet.TopHat`, `grb.jet.Gaussian`, `grb.jet.PowerLawCore`, `grb.jet.GaussianCore`, `grb.jet.Spherical`, or `grb.jet.PowerLaw`.
- `specType` an integer code specifying flags for the emissivity function and spectrum. Can be `grb.jet.SimpleSpec` (basic spectrum with &nu;<sub>m</sub> and &nu;<sub>c</sub>), `grb.jet.DeepNewtonian`, `grb.jet.ICCooling` (simple inverse Compton effects on the cooling frequency, experimental).
- `specType` an integer code specifying flags for the emissivity function and spectrum. Can be `grb.jet.SimpleSpec` (basic spectrum with &nu;<sub>m</sub> and &nu;<sub>c</sub>), `grb.jet.DeepNewtonian`, `grb.jet.EpsEBar` to interpret `epsilon_e` as &epsilon;&#773;<sub>e</sub> = &epsilon;<sub>e</sub>(p-2)/(p-1), `grb.jet.ICCooling` (simple inverse Compton effects on the cooling frequency, experimental). Multiple options can be combined with the `|` operator.
- `thetaObs` viewing angle in radians

@@ -109,2 +131,3 @@ - `E0` on-axis isotropic equivalent energy in erg

- `moment` array (integer dtype, same shape as t and nu) which sky moment to compute.
- `ignoreBounds` boolean (defaults to False), whether to ignore the built in paramter bounds checking.
- `L0` Fiducial luminosity for energy injection, in erg/s, default 0.0.

@@ -111,0 +134,0 @@ - `q` Temporal power-law index for energy injection, default 0.0.

@@ -5,4 +5,6 @@ [build-system]

"wheel",
"oldest-supported-numpy"]
"numpy<2.0,<3; python_version<'3.9'",
"numpy>=2.0,<3; python_version>='3.9' and python_version<'3.13'",
"numpy>=2.1,<3; python_version>='3.13'"]
build-backend = 'setuptools.build_meta'
# Numeric GRB Afterglow models
A Python 3 module to calculate GRB afterglow light curves and spectra. Details of the methods can be found in [Ryan et al 2020](https://ui.adsabs.harvard.edu/abs/2020ApJ...896..166R/abstract). Builds on [van Eerten & MacFadyen 2010](https://arxiv.org/abs/1006.5125) and [van Eerten 2018](https://arxiv.org/abs/1801.01848). This code is under active development.
A Python 3 module to calculate GRB afterglow light curves and spectra. Details of the methods can be found in [Ryan et al 2020](https://ui.adsabs.harvard.edu/abs/2020ApJ...896..166R/abstract) and [Ryan et al 2024](https://ui.adsabs.harvard.edu/abs/2024ApJ...975..131R/abstract). Builds on [van Eerten & MacFadyen 2010](https://arxiv.org/abs/1006.5125) and [van Eerten 2018](https://arxiv.org/abs/1801.01848). This code is under active development.

@@ -9,3 +9,3 @@ Documentation available at <https://afterglowpy.readthedocs.io/>

If you use this code in a publication, please refer to the package by name and cite "Ryan, G., van Eerten, H., Piro, L. and Troja, E., 2020, Astrophysical Journal *896*, 166 (2020)" [arXiv link](https://arxiv.org/abs/1909.11691).
If you use this code in a publication, please refer to the package by name and cite "Ryan, G., van Eerten, H., Piro, L. and Troja, E., Astrophysical Journal *896*, 166 (2020)" [ADS link](https://ui.adsabs.harvard.edu/abs/2020ApJ...896..166R/abstract). Upgrades including centroid motion, size, and the deep Newtonian phase are presented in "Ryan, G., van Eerten, H., Troja, E., Piro, L., O'Connor, B., and Ricci, R., Astrophysical Journal *975*, 131 (2024)" [ADS link](https://ui.adsabs.harvard.edu/abs/2024ApJ...975..131R/abstract).

@@ -41,5 +41,14 @@ ## Acknowledgements

## Changelog
### New in v0.8.1
- Numpy 2.0 compatibility
- `ignoreBounds` Boolean keyword argument to ignore built-in bounds checking on parameters.
### New in v0.8.0
- Image size and position via the `moment` keyword.
- Deep Newtonian spectral evolution at late times via `specType=grb.jet.DeepNewtonian`
## Installation/Building
_afterglowpy_ is available via `pip`:

@@ -50,2 +59,4 @@ ```bash

_afterglowpy_ is compatible with Numpy v1 and v2, Python 3.8+, and runs on MacOS, Linux, and Windows.
If you are working on a local copy of this repo and would like to install from source, you can the run the following from the top level directory of the project.

@@ -65,3 +76,3 @@ ```bash

- `jetType` an integer code setting the jet structure. It can be `grb.jet.TopHat`, `grb.jet.Gaussian`, `grb.jet.PowerLawCore`, `grb.jet.GaussianCore`, `grb.jet.Spherical`, or `grb.jet.PowerLaw`.
- `specType` an integer code specifying flags for the emissivity function and spectrum. Can be `grb.jet.SimpleSpec` (basic spectrum with &nu;<sub>m</sub> and &nu;<sub>c</sub>), `grb.jet.DeepNewtonian`, `grb.jet.ICCooling` (simple inverse Compton effects on the cooling frequency, experimental).
- `specType` an integer code specifying flags for the emissivity function and spectrum. Can be `grb.jet.SimpleSpec` (basic spectrum with &nu;<sub>m</sub> and &nu;<sub>c</sub>), `grb.jet.DeepNewtonian`, `grb.jet.EpsEBar` to interpret `epsilon_e` as &epsilon;&#773;<sub>e</sub> = &epsilon;<sub>e</sub>(p-2)/(p-1), `grb.jet.ICCooling` (simple inverse Compton effects on the cooling frequency, experimental). Multiple options can be combined with the `|` operator.
- `thetaObs` viewing angle in radians

@@ -84,2 +95,3 @@ - `E0` on-axis isotropic equivalent energy in erg

- `moment` array (integer dtype, same shape as t and nu) which sky moment to compute.
- `ignoreBounds` boolean (defaults to False), whether to ignore the built in paramter bounds checking.
- `L0` Fiducial luminosity for energy injection, in erg/s, default 0.0.

@@ -86,0 +98,0 @@ - `q` Temporal power-law index for energy injection, default 0.0.

@@ -26,3 +26,3 @@ #!/usr/bin/env python3

"afterglowpy/interval.c"]
jetdepends = ["afterglowpy/offaxis_struct_funcs.h",
jetdepends = ["afterglowpy/offaxis_struct.h",
"afterglowpy/shockEvolution.h", "afterglowpy/interval.h"]

@@ -32,3 +32,3 @@

shockdepends = ["afterglowpy/shockEvolution.h",
"afterglowpy/offaxis_struct_funcs.h"]
"afterglowpy/offaxis_struct.h"]

@@ -35,0 +35,0 @@ jetmodule = Extension('afterglowpy.jet', sources=jetsources, include_dirs=inc,

Sorry, the diff of this file is too big to display