Security News
PyPI’s New Archival Feature Closes a Major Security Gap
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
Autobex helps you find abandoned and interesting locations using OpenStreetMap data. Search by radius or polygon area to discover ruins, bunkers, and abandoned structures. Get elevation data, property ownership details, and direct links to Google Maps and Bing Maps. Designed for urban exploration and historical research, with automatic grouping of nearby locations.
Autobex helps you find abandoned and interesting locations using OpenStreetMap data. Search by radius or polygon area to discover ruins, bunkers, and abandoned structures. Get elevation data and direct links to maps.
pip install autobex
from autobex import OSMSearchPlus
# Initialize searcher
searcher = OSMSearchPlus()
# Search within 5 mile radius of coordinates
results = searcher.search(
lat=42.554056,
lon=-70.928823,
radius=5.0
)
# Print results
for group in results:
for location in group:
print(f"Name: {location.name}")
print(f"Type: {location.type}")
print(f"Distance: {location.distance/1609.34:.2f} miles")
print(f"Elevation: {location.elevation}m")
print(f"OpenStreetMap: {location.osm_url}")
print(f"Google Maps: {location.google_maps_url}")
print(f"Bing Maps: {location.bing_maps_url}")
print("Tags:", location.tags)
print()
You can search using:
~
operator# List available search tags
for tag in searcher.list_tags():
print(tag)
# Search with custom tags
results = searcher.search(
lat=42.554056,
lon=-70.928823,
radius=5.0,
use_default_tags=False,
custom_tags=[
"building=ruins", # Exact match
"name~Superfund", # Regex match (case-insensitive)
"abandoned" # Simple tag
]
)
Search within:
Each location includes:
Nearby locations are automatically grouped with:
Contributions welcome! Please feel free to submit a Pull Request.
MIT
Contains tags to search for by default. Each line should be either:
abandoned
)building=ruins
)name~Factory
)You can view all configured tags using searcher.list_tags()
.
Contains tags that will exclude locations from results. Same format as tags.txt
.
If not found, default exclusions are used (e.g., demolished=yes
, highway=bus_stop
, etc.).
pip install autobex
name
- Location name (from OSM or reverse geocoding)latitude
, longitude
- Decimal coordinatesdistance
- Direct distance from search center (miles)road_distance
- Distance to nearest road (miles)elevation
- Height above sea level (meters)osm_url
- Direct link to OpenStreetMap node/waygoogle_maps_url
- Google Maps link (max zoom)bing_maps_url
- Bing Maps link (aerial view)osm_id
- OpenStreetMap IDtype
- Element type (node or way)tags
- Dictionary of all OSM tags# Exact matches
building=ruins
historic=ruins
# Simple tags (match as key or value)
abandoned
ruins
# Name patterns
name~Factory
# Filter out these locations
demolished=yes
highway=bus_stop
# Exclude common noise
Location: Example Location (OSM ID: 123456)
----------------------------------------
Direct distance: 1.23 miles
Distance to nearest road: 0.15 miles
Elevation: 42.1 meters
View on Maps:
OpenStreetMap: https://www.openstreetmap.org/way/123456
Google Maps: https://...
Bing Maps: https://...
OpenStreetMap Tags:
building = ruins
historic = yes
name = Old Mill
polygon = [
("42°25'12.3\"N", "70°54'37.4\"W"),
(42.42103, -70.90324),
("42°25'05.0\"N", "70°54'01.1\"W"),
(42.41492, -70.90501)
]
results = searcher.search(polygon_coords=polygon)
Results are automatically grouped by proximity (100m radius):
for group in results:
# Get group center
center_lat, center_lon = group.center()
# Get maximum span in miles
span = group.distance_span()
# Filter by tag
ruins = group.filter_by_tag('building', 'ruins')
# Get average elevation
avg_height = group.average_elevation()
from autobex import OSMSearchError
try:
results = searcher.search(lat=42.3601, lon=-71.0589, radius=1.0)
except OSMSearchError as e:
print(f"Search failed: {e}")
limit
parameter when possibleexcluded_tags.txt
to filter noiseshow_logs=True
to monitor progressMIT License - see LICENSE file for details.
The system automatically detects and handles multiple coordinate formats:
# Decimal Degrees (as string or float)
search.search(lat="41.2345", lon="-71.2345")
search.search(lat=41.2345, lon=-71.2345)
# Degrees, Minutes, Seconds (DMS)
search.search(lat="41°28'50.4\"N", lon="71°23'35.5\"W")
The coordinate parser automatically:
The system uses two types of tag matching:
Exact matches (with =
):
building=ruins -> matches exactly building=ruins
Simple tags (without =
):
abandoned -> matches:
- abandoned=* (any value)
- building=abandoned
- historic=abandoned
Name patterns (with ~
):
name~Factory -> matches locations with "Factory" in their name
The search is optimized to:
You can view all configured tags using:
# List all available search tags
for tag in searcher.list_tags():
print(tag)
Note: All searchable tags are configured in the tags.txt
file. Example contents:
building=ruins
abandoned
ruins
disused
bunker_type
building=bunker
name~Factory
You can customize which tags to search for by editing this file.
The package includes a test query tool (test_query.py
) that helps visualize search results in a readable format:
python test_query.py
Sample output:
Querying area...
Found 1 location in 1 group
========================================
Group 1 (1 locations)
========================================
Location 1:
----------------------------------------
Name: Northeastern University Marine Science Center
Type: way
OSM ID: 123456789
Distance: 0.04 miles
Elevation: 15.2m (49.9ft)
Map Links:
Google Maps: https://www.google.com/maps?q=42.4185,-70.9056&z=21
Bing Maps: https://www.bing.com/maps?cp=42.4185~-70.9056&style=h&lvl=20
Tags:
• building = yes
• historic = ruins
• name = Northeastern University Marine Science Center
• abandoned = yes
----------------------------------------
The output includes:
You can modify the search coordinates in test_query.py
to explore different areas.
FAQs
Autobex helps you find abandoned and interesting locations using OpenStreetMap data. Search by radius or polygon area to discover ruins, bunkers, and abandoned structures. Get elevation data, property ownership details, and direct links to Google Maps and Bing Maps. Designed for urban exploration and historical research, with automatic grouping of nearby locations.
We found that autobex demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PyPI now allows maintainers to archive projects, improving security and helping users make informed decisions about their dependencies.
Research
Security News
Malicious npm package postcss-optimizer delivers BeaverTail malware, targeting developer systems; similarities to past campaigns suggest a North Korean connection.
Security News
CISA's KEV data is now on GitHub, offering easier access, API integration, commit history tracking, and automated updates for security teams and researchers.