Skip to main content
File added late

1 file was added to this release more than 14 days after its initial publication. Inspect the release files before installing.

Astral is a python module for calculating the times of various aspects of the sun.

It calculates the following

Dawn

The time in the morning when the sun is a specific number of degrees below the horizon.

Sunrise

The time in the morning when the top of the sun breaks the horizon (asuming a location with no obscuring features.)

Solar Noon

The time when the sun is at its highest point.

Sunset

The time in the evening when the sun is about to disappear below the horizon (asuming a location with no obscuring features.)

Dusk

The time in the evening when the sun is a specific number of degrees below the horizon.

Solar Azimuth

The number of degrees clockwise from North at which the sun can be seen

Solar Elevation

The number of degrees up from the horizon at which the sun can be seen

Rahukaalam

“Rahukaalam or the period of Rahu is a certain amount of time every day that is considered inauspicious for any new venture according to Indian astrology”.

Example

The following example demonstrates the functionality available in the module

import datetime
from astral import Astral

city_name = 'London'

a = Astral()
a.solar_depression = 'civil'

city = a[city_name]

print('Information for %s/%s\n' % (city_name, city.country))

timezone = city.timezone
print('Timezone: %s' % timezone)

print('Latitude: %.02f; Longitude: %.02f\n' % \
    (city.latitude, city.longitude))

sun = city.sun(date=datetime.date(2009, 4, 22), local=True)
print('Dawn:    %s' % str(sun['dawn']))
print('Sunrise: %s' % str(sun['sunrise']))
print('Noon:    %s' % str(sun['noon']))
print('Sunset:  %s' % str(sun['sunset']))
print('Dusk:    %s' % str(sun['dusk']))

Produces the following output:

Information for London/England

Timezone: Europe/London
Latitude: 51.60; Longitude: 0.08

Dawn:     2009-04-22 05:12:56+01:00
Sunrise:  2009-04-22 05:49:36+01:00
Noon:     2009-04-22 12:58:48+01:00
Sunset:   2009-04-22 20:09:07+01:00
Dusk:     2009-04-22 20:45:52+01:00

License

This module is licensed under the terms of the MIT license.

Dependencies

Astral has one external dependency on ‘pytz’ which can either be obtained from Sourceforge page or via the easy_install method, whichever is your particular poison.

Installation

When you’ve added the pytz package to install astral unzip the archive to a handy location and execute the standard Python installation method:

python setup.py install

Cities

The module includes location and time zone data for the following cities. The list includes all capital cities plus some from the UK.

Aberdeen, Abu Dhabi, Abuja, Accra, Addis Ababa, Adelaide, Al Jubail, Algiers, Amman, Amsterdam, Andorra la Vella, Ankara, Antananarivo, Apia, Ashgabat, Asmara, Astana, Asuncion, Athens, Baghdad, Baku, Bamako, Bandar Seri Begawan, Bangkok, Bangui, Banjul, Basse-Terre, Basseterre, Beijing, Beirut, Belgrade, Belmopan, Berlin, Bern, Birmingham, Bishkek, Bissau, Bloemfontein, Bogota, Bolton, Bradford, Brasilia, Bratislava, Brazzaville, Bridgetown, Brisbane, Bristol, Brussels, Bucharest, Bucuresti, Budapest, Buenos Aires, Bujumbura, Cairo, Canberra, Cape Town, Caracas, Cardiff, Castries, Cayenne, Charlotte Amalie, Chisinau, Conakry, Copenhagen, Cotonou, Crawley, Dakar, Damascus, Dammam, Dhaka, Dili, Djibouti, Dodoma, Doha, Dublin, Dushanbe, Edinburgh, Fort-de-France, Freetown, Funafuti, Gaborone, George Town, Georgetown, Glasgow, Guatemala, Hanoi, Harare, Havana, Helsinki, Hobart, Honiara, Islamabad, Jakarta, Jerusalem, Jubail, Kabul, Kampala, Kathmandu, Khartoum, Kiev, Kigali, Kingston, Kingstown, Kinshasa, Koror, Kuala Lumpur, Kuwait, La Paz, Leeds, Leicester, Libreville, Lilongwe, Lima, Lisbon, Liverpool, Ljubljana, Lome, London, Luanda, Lusaka, Luxembourg, Macau, Madinah, Madrid, Makkah, Malabo, Male, Mamoudzou, Managua, Manama, Manchester, Manila, Maputo, Maseru, Masqat, Mbabane, Mecca, Medina, Mexico, Minsk, Mogadishu, Monrovia, Montevideo, Moroni, Moscow, Moskva, N’Djamena, Nairobi, Nassau, New Delhi, Newcastle, Newcastle Upon Time, Niamey, Nicosia, Norwich, Nouakchott, Noumea, Nuku’alofa, Nuuk, Oranjestad, Oslo, Ottawa, Ouagadougou, Oxford, P’yongyang, Pago Pago, Palikir, Panama, Papeete, Paramaribo, Paris, Perth, Phnom Penh, Plymouth, Port Moresby, Port-Vila, Port-au-Prince, Porto-Novo, Portsmouth, Prague, Praia, Pretoria, Quito, Reading, Reykjavik, Riga, Riyadh, Road Town, Rome, Roseau, Saint Pierre, Saipan, San Jose, San Juan, San Marino, San Salvador, Santiago, Santo Domingo, Sao Tome, Sarajevo, Seoul, Sheffield, Skopje, Sofia, Southampton, St. Peter Port, Stanley, Stockholm, Sucre, Suva, Swansea, Swindon, Sydney, T’bilisi, Tallinn, Tarawa, Tashkent, Tegucigalpa, Tehran, Thimphu, Tirane, Torshavn, Tripoli, Tunis, Vaduz, Valletta, Vienna, Vientiane, Vilnius, W. Indies, Warsaw, Washington DC, Wellington, Willemstad, Windhoek, Wolverhampton, Yamoussoukro, Yangon, Yaounde, Yerevan, Zagreb

Thanks

The sun calculations in this module were adapted, for Python, from the following spreadsheet.

http://www.ecy.wa.gov/programs/eap/models/twilight.zip

Which takes its calculations from

http://www.srrb.noaa.gov/highlights/sunrise/azel.html

Also to Sphinx for making doc generation an easy thing (not that the writing of the docs is any easier.)

Contact

Simon Kennedy <python@sffjunkie.co.uk>

Version History

Version

Description

0.1

First release

Release files for astral 0.1

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

File added late

1 file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release files before installing.

Source distribution (sdist)

Source distribution for astral 0.1
File Size Uploaded
astral-0.1.zip 62.2 kB Details

Release files / astral-0.1.zip

File added late

This file was uploaded more than 14 days after the first file in this release.

While project maintainers occasionally add legitimate files to an existing release, late additions can also indicate a security compromise.

We recommend inspecting the release file before installing.

Download URL astral-0.1.zip
Size 62.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a1236653806f0e88af3e12d86310d573f67aa22cc45f29d1ba41ff7d32d9ee6a
BLAKE2b-256 checksum
How to use checksums
eadfeeef77f17af48ce92ea31f962f14561ae789de9ee551c0660e50896ef1e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

3.2

2 release files

3.1

2 release files

3.0

2 release files

2.2

2 release files

2.1

2 release files

2.0.1

2 release files

2.0

2 release files

1.10

2 release files

1.9.2

2 release files

1.9.1

2 release files

1.9

2 release files

1.8

2 release files

1.7.1

2 release files

1.7

2 release files

1.6.1

2 release files

1.6

2 release files

1.5

2 release files

1.4

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3

2 release files

1.2

2 release files

1.1

2 release files

1.0

2 release files

0.9

2 release files

0.8.2

1 release file

0.8.1

2 release files

0.8

2 release files

0.7.5

2 release files

0.7.4

1 release file

0.7.3

1 release file

0.7.2

1 release file

0.7.1

1 release file

0.7

1 release file

0.6.2

1 release file

0.6.1

1 release file

0.6

1 release file

0.5

1 release file

0.4

1 release file

0.3

1 release file

0.2

1 release file

This release

0.1 This release

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