{"id":28201,"library":"sparkorm","title":"SparkORM","description":"SparkORM is a Python library for schema management and basic Object Relational Mapping for PySpark SQL and DataFrames. Current version: 1.2.29 (stable, monthly releases).","status":"active","version":"1.2.29","language":"python","source_language":"en","source_url":"https://github.com/asuiu/sparkorm","tags":["spark","pyspark","orm","dataframe","schema"],"install":[{"cmd":"pip install sparkorm","lang":"bash","label":"Install via pip"}],"dependencies":[{"reason":"Required for Spark interaction; must be installed separately.","package":"pyspark","optional":false}],"imports":[{"note":"Standard way to get/create a SparkSession.","symbol":"SparkSessionSingleton","correct":"from sparkorm import SparkSessionSingleton"},{"note":"Core class representing schema-aware DataFrame.","symbol":"SparkDataFrame","correct":"from sparkorm import SparkDataFrame"},{"note":"Base class for defining schema models.","symbol":"Structure","correct":"from sparkorm import Structure"}],"quickstart":{"code":"from sparkorm import SparkSessionSingleton, SparkDataFrame, Structure\nfrom pyspark.sql.types import StructType, StructField, StringType, IntegerType\n\n# Define schema model\nclass Employee(Structure):\n    name: str\n    age: int\n\n# Get or create SparkSession\nspark = SparkSessionSingleton().get_or_create()\n\n# Create sample data\nrows = [(\"Alice\", 30), (\"Bob\", 25)]\nschema = StructType([\n    StructField(\"name\", StringType(), True),\n    StructField(\"age\", IntegerType(), True)\n])\ndf = spark.createDataFrame(rows, schema)\n\n# Wrap with SparkDataFrame\nsdf = SparkDataFrame(df, Employee)\nsdf.show()","lang":"python","description":"Define a schema model, create a SparkDataFrame, and display it."},"warnings":[{"fix":"Use SparkSessionSingleton().stop() carefully and recreate if needed.","message":"SparkSessionSingleton caches the session globally; calling get_or_create after stopping the session will create a new one. Ensure you do not accidentally reuse a stopped session.","severity":"gotcha","affected_versions":"all"},{"fix":"pip install pyspark","message":"SparkORM requires an existing PySpark installation. Installing sparkorm alone will not bring in PySpark; you must install it separately or via an extra dependency if available.","severity":"gotcha","affected_versions":"all"},{"fix":"from sparkorm import SparkSessionSingleton","message":"Some older tutorials use `from sparkorm import SparkSession` directly; this alias may be removed. Use `SparkSessionSingleton` instead.","severity":"deprecated","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"pip install pyspark","cause":"PySpark is not installed.","error":"ModuleNotFoundError: No module named 'pyspark'"},{"fix":"from sparkorm import SparkSessionSingleton","cause":"Deprecated import path: SparkSession was renamed to SparkSessionSingleton in later versions.","error":"AttributeError: module 'sparkorm' has no attribute 'SparkSession'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}