npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@geoalgeria/culture

v1.0.0

Published

Algeria's cultural atlas — protected heritage sites, museums, theatres, libraries and cultural establishments (maisons & palais de culture, cinemas, culture directorates, arts schools) from the Ministry of Culture's Patrimoine Culturel portal, bilingual F

Downloads

91

Readme

English | Français | العربية

@geoalgeria/culture

Algeria's cultural atlas — as data you can install.

npm npm downloads License: MIT

1,083 cultural places across 66 of Algeria's 69 wilayas — protected heritage sites, museums, theatres, libraries and cultural establishments (maisons & palais de la culture, cinemas, culture directorates, arts schools) from the Ministry of Culture's Cartes du Patrimoine Culturel Algérien atlas, 100% bilingual French/Arabic and fully geocoded (every place carries a source coordinate). Shipped as JSON, CSV, GeoJSON, and TypeScript. Part of GeoAlgeria.

npm install @geoalgeria/culture
import culture from "@geoalgeria/culture";

const all = culture.culture();          // 1,083 cultural places

// Museums in a wilaya (joins GeoAlgeria's wilaya_code)
const museumsAlger = all.filter((p) => p.wilaya_code === "16" && p.type === "museum");

// Just the protected heritage sites, ready to map
const heritage = all.filter((p) => p.category === "heritage");

// Places with a 360° virtual tour
const tours = all.filter((p) => p.has_virtual_tour);

What you can build

  • Cultural maps & nearest-place search — every one of the 1,083 places has coordinates, ready for a map or a "what's near me" feature.
  • Bilingual cultural directories — French and Arabic names, official type and wilaya for every place; filter heritage vs. operating establishments.
  • Heritage & tourism apps — protected sites, museums and 360° virtual tours, linked to commune/wilaya for routing and coverage analysis.

What's inside

| Dataset | Count | Coordinates | Notes | | --- | --- | --- | --- | | Cultural places | 1,083 | 1,083 geocoded | 66 wilayas, 100% bilingual, 22 with 360° tours |

By category

| Category | Count | Meaning | | --- | --- | --- | | heritage | 943 | protected sites, museums, theatres, libraries | | establishment | 140 | operating cultural venues & directorates |

By type

| Type | Count | Meaning | | --- | --- | --- | | protected-cultural-property | 580 | Bien culturel protégé — protected monument/site | | library | 257 | Bibliothèque — public reading library | | museum | 48 | Musée — museum | | theatre | 45 | Théâtre — theatre | | museum-moudjahid | 13 | Musée du Moudjahid — museum of the war of independence | | cultural-house | 51 | Maison de la culture | | cultural-directorate | 33 | Direction de la culture — wilaya culture directorate/office | | cinema | 20 | Salle de cinéma — cinema / cinematheque | | cultural-center | 15 | Centre culturel — cultural / research centre | | arts-school | 15 | École d'art — fine-arts school / conservatory | | cultural-palace | 6 | Palais de la culture |

The atlas is official; treat the coordinates as best-effort. Names, type, coordinates and the 360° flag come from the Ministry of Culture's portal. Wilaya is exact; commune is derived (see Source & method). Counts move as the portal is edited; each rebuild reflects its current state.

Formats

The npm package ships the JSON (importable directly):

import culture from "@geoalgeria/culture/data/culture.json" with { type: "json" };
// or via CDN, no install:
// https://cdn.jsdelivr.net/npm/@geoalgeria/culture/data/culture.json

The loaders and record shapes are fully typed — TypeScript definitions ship in the package:

import culture, { type CulturalSite } from "@geoalgeria/culture";
const all: CulturalSite[] = culture.culture();

CSV and GeoJSON are in the repo under data/ and bundled in every GitHub Release:

data/
  culture.json              # 1,083 cultural places (array)
  metadata.json             # sources, counts, coverage, generated_at
  csv/culture.csv           # repo + Release bundle
  geojson/culture.geojson   # Point features (every record)

Record shape

{
  "id": "16-museum-03",
  "name": "Musée national Public d'art moderne et contemporain",
  "name_ar": "المتحف العمومي الوطني للفن الحديث و المعاصر",
  "name_fr": "Musée national Public d'art moderne et contemporain",
  "type": "museum",
  "category": "heritage",
  "type_label_fr": "Musée",
  "type_label_ar": "متحف",
  "has_virtual_tour": true,
  "wilaya": "Alger",
  "wilaya_ar": "الجزائر",
  "wilaya_code": "16",
  "commune": "Casbah",
  "commune_code": 1607,
  "source": "patrimoineculturel",
  "geo_precision": "source_point",
  "url": "https://cartes.patrimoineculturelalgerien.org/fr/node/101",
  "node_id_fr": 101,
  "node_id_ar": 817,
  "slug": "musee-national-public-d-art-moderne-et-contemporain",
  "lat": 36.777301,
  "lng": 3.057572
}

id is a stable {wilaya_code}-{type_code}-{seq} key synthesized by GeoAlgeria. name is the French name where available, else Arabic. type is the place's layer on the portal; category groups the 11 types into heritage vs. establishment. has_virtual_tour is true for the 22 places with a 360° tour. geo_precision is "source_point" for every record — the portal publishes a coordinate for each place.

Wilaya is exact; commune is derived. The portal still files some places under pre-2019 wilaya codes; GeoAlgeria rescopes each place to the current 69-wilaya scheme by matching its coordinate to the nearest geoalgeria commune centroid (which also yields commune/commune_code). Commune is best-effort (the flagship ships centroids, not boundary polygons).

Need the administrative divisions too?

For wilayas, dairas, and communes, use the main geoalgeria package — it's how you turn a place's commune_code into a polygon or centroid. Use @geoalgeria/culture when you only need the cultural places.

Source & method

Run npm run fetch to regenerate every output. It:

  1. reads the curated, bilingual cultural atlas (assembled and translated from the Ministry of Culture's cartes.patrimoineculturelalgerien.org portal — the portal's French and Arabic catalogs are disjoint node sets, unioned by coordinate proximity and translated to fill the bilingual gaps);
  2. rescopes each place to the current 69-wilaya scheme and attaches a commune/commune_code by matching its coordinate to the nearest geoalgeria commune centroid;
  3. assigns stable ids, drops exact duplicate nodes, and emits JSON, CSV, GeoJSON and metadata.

The curated source and extraction notes are under research/patrimoine/.

License & attribution

Package code is MIT. The data is a factual public listing from the Ministry of Culture's cultural-heritage portal (names, types, coordinates and 360° tours as published). Commune/wilaya linkage is derived from the geoalgeria administrative dataset.

Verify against official sources for authoritative information. This dataset is provided for reference and to power GeoAlgeria.

API docs & field reference → · Browse all packages →


Made by Yasser's Studio · LinkedIn · X · [email protected]