domonic¶
A Python DOM that goes way beyond minidom¶
Domonic is a Python library for generating, parsing, traversing, and manipulating real document trees with the broader web platform in mind.
The method names and mental model deliberately match the browser platform:
write div(), query with querySelectorAll(), move nodes with
appendChild(), read textContent, and use JavaScript-like helpers such as
Array, Date, Promise and URL from Python. The concepts carry
across in both directions — for Python developers learning the web platform and
for JavaScript developers working in Python.
HTML, SVG, DOM, events, CSSOM, geometry, observers, animation, and web APIs
A JavaScript-like runtime surface for practical porting and scripting
diffDOM-style patch data for minimal server-side DOM updates
BeautifulSlop for Beautiful Soup style querying over real domonic nodes
CLI tools for querying pages with XPath and CSS selectors
dQuery and d3 included as demanding consumers of the DOM, not just extras
The aim is to track the actual platform rather than invent a parallel helper API:
Install¶
python3 -m pip install domonic
python3 -m pip install --upgrade domonic
For the domonic command line tool, install with pipx:
brew install pipx
pipx ensurepath
pipx install domonic
domonic -x https://example.com '//title'
Quick Example¶
from domonic.html import *
page = html(
body(
h1("Hello, World!"),
a("docs", _href="https://domonic.readthedocs.io/")
)
)
print(f"{page}")
<!DOCTYPE html>
<html>
<body>
<h1>Hello, World!</h1>
<a href="https://domonic.readthedocs.io/">docs</a>
</body>
</html>
DOM Example¶
from domonic.dom import document
from domonic.html import html
root = html()
card = document.createElement("section")
card.setAttribute("class", "card")
root.appendChild(card)
print(root.querySelectorAll(".card"))
Start Here¶
Use these copy-paste starting points for common Python web, scraping, DOM, and server-side rendering tasks.
Most examples intentionally use web-platform names. If you learn the domonic version, you are learning vocabulary that transfers back to browser HTML, JavaScript, CSS selectors, XPath, and Web APIs.
And if you already know browser JavaScript, the examples are designed to feel approachable because they keep the DOM vocabulary you already use.
Generate HTML with Python:
from domonic.html import a, article, h1, p
page = article(
h1("domonic"),
p("Generate HTML with Python objects."),
a("Read more", _href="/docs", _class="cta"),
)
print(page)
Parse and query HTML:
from domonic import domonic
page = domonic.parseString("<main><a href='/docs'>Docs</a></main>", parser="html.parser")
print(page.querySelector("a").getAttribute("href"))
Use Beautiful Soup style scraping over real DOM nodes:
from domonic.bs4 import BeautifulSlop
soup = BeautifulSlop("<article><a href='/api'>API</a></article>", "html.parser")
for link in soup.find_all("a", href=True):
print(link.text, link["href"])
Diff two DOM trees:
from domonic.diffdom import DiffDOM
from domonic.html import div, p
old = div(p("one"))
new = div(p("two"))
changes = DiffDOM().diff(old, new)
print(changes)
Use browser Web APIs in Python:
from domonic.webapi.crypto import crypto
from domonic.webapi.encoding import TextEncoder
print(crypto.randomUUID())
print(TextEncoder().encode("hello"))
Guides¶
The guide section includes task-focused walkthroughs for Scrape HTML, Server-Side HTML, Live DOM Updates, Parser Performance, and Examples Gallery.
CLI¶
If you primarily want the CLI, install it with pipx so the command is
available on your shell path:
brew install pipx
pipx ensurepath
pipx install domonic
Query a remote page:
domonic -x https://example.com '//title'
domonic -q https://example.com 'a.cta' --attr href --first --parser selectolax
Query a local file:
domonic --xpath-file ./page.html '//a' --count
domonic --query-file ./page.html 'a.cta' --text --parser selectolax
Pipe HTML in directly:
curl -s https://example.com | domonic -x '//a' --count
cat page.html | domonic -q 'a.cta' --attr href --parser selectolax
Create a project with a chosen server:
domonic -p myproject --server fastapi
Package Guide¶
- html
- dom
- events
- animation
- styles
- JavaScript
- webapi
- constants
- bs4
- dQuery
- diffdom
- d3
- svg
- xml
- JSON
- terminal
- cmd
- tween
- geom
- x3d
- CDN
- decorators
- Templates and Components
- utils
- Servers
- Running a Python Server to View Static Pages
- Serving dynamic content
- CLI project scaffolds
- Using domonic with Cherrypy
- Using domonic with Pyramid
- Using domonic with Bottle
- Using domonic with Sanic
- Using domonic with Flask
- Using domonic with FastAPI
- Using domonic with Werkzeug
- Using domonic with Starlette
- Using domonic with Tornado
- Using domonic with Django
- Using domonic with aiohttp
- SPAs
- Using domonic with AWS Lambda
- Using domonic with Google Cloud Functions
- sitemap
- 🤖 autodocs
- domonic
domonic- domonic.html
render()importmap()speculationrules()TemplateErrorclosed_taghtmlbodyheadhx_partialscriptstyleh1h2h3h4h5h6pibportalAtag()aulollidivstrongblockquotetabletrtdformlabelsubmittitlenoscriptsectionnavarticleasidehgroupaddresspredldtddfigurefigcaptionemsmallsciteqdfnabbrcodevarsampkbdsubsupumarkrubyrtrpbdibdospaninsiframevideoaudiocanvascaptioncolgrouptbodytheadtfootthfieldsetlegendbuttonselectselectedcontentdatalistoptgroupoptiontextareaoutputprogressmeterdetailssummarymenumenuitemfontheaderfootermapobjectdel_modtimedatabaselinkmetahrbrwbrimgparamsourcetrackareacolinputkeygencommandmainslotsearchappletbasefontcenterdirembedframeframesetisindexlistingnoframesplaintextstrikexmptemplatepicturedialogdoctypecommentcontentcreate_element()- domonic.dom
DOMConfigHTMX_ATTRIBUTESHTMX_LEGACY_ATTRIBUTESHTMX_EXTENSION_ATTRIBUTESALPINE_DIRECTIVESValidityStateNodeParentNodeChildNodeAttrNamedNodeMapDOMStringMapDOMRectReadOnlyDOMRectDOMRectListDocumentTimelineCaretPositionSelectionDOMTokenListShadowRootDocumentTypeCustomStateSetNodeListRadioNodeListElementDOMImplementationProcessingInstructionCommentCDATASectionAbastractRangeAbstractRangeRangeStaticRangeTimeRangesDocumentLocationlocationDocumentFragmentCharacterDataEntityReferenceEntityNotationTextHTMLCollectionMutationRecordMutationObserverResizeObserverSizeResizeObserverEntryResizeObserverIntersectionObserverEntryIntersectionObserverPerformanceEntryPerformanceMarkPerformanceMeasurePerformanceObserverDOMExceptionDOMTimeStampDOMPointDOMPointReadOnlyDOMMatrixReadOnlyDOMMatrixDOMQuadNodeFilterNodeIteratornodeFilter()str_to_TextNode()traverseChildren()traverseSiblings()nextSkippingChildren()TreeWalkerDOMParserXMLSerializerSanitizerMathMLElementHTMLElementHTMLAnchorElementHTMLAreaElementHTMLAudioElementHTMLBRElementHTMLBaseElementHTMLBaseFontElementHTMLBodyElementHTMLButtonElementHTMLCanvasElementHTMLContentElementHTMLDListElementHTMLDataElementHTMLDataListElementHTMLDialogElementHTMLDivElementXMLDocumentHTMLDocumentHTMLEmbedElementHTMLFieldSetElementHTMLFormControlsCollectionHTMLFormElementHTMLFrameSetElementHTMLHRElementHTMLHeadElementHTMLHeadingElementHTMLIFrameElementHTMLImageElementHTMLInputElementHTMLIsIndexElementHTMLKeygenElementHTMLLIElementHTMLLabelElementHTMLLegendElementHTMLLinkElementHTMLMapElementHTMLMediaElementHTMLMetaElementHTMLMeterElementHTMLModElementHTMLOListElementHTMLObjectElementHTMLOptGroupElementHTMLOptionElementHTMLOptionsCollectionHTMLOutputElementHTMLParagraphElementHTMLParamElementHTMLPictureElementHTMLPreElementHTMLProgressElementHTMLQuoteElementHTMLScriptElementHTMLSelectElementHTMLSelectedContentElementHTMLShadowElementHTMLSourceElementHTMLSpanElementHTMLStyleElementHTMLTableCaptionElementHTMLTableCellElementHTMLTableColElementHTMLTableDataCellElementHTMLTableElementHTMLTableHeaderCellElementHTMLTableRowElementHTMLTableSectionElementHTMLDetailsElementHTMLSummaryElementHTMLSlotElementHTMLTemplateElementHTMLTextAreaElementHTMLTimeElementHTMLTitleElementHTMLTrackElementHTMLUListElementHTMLUnknownElementHTMLVideoElementHTMLPortalElement- domonic.bs4
BeautifulSlopinstall()- domonic.diffdom
DiffDOMnodeToObj()objToNode()AnyArrayArrayBufferBooleanDataViewDateErrorEvalErrorFetchedSetFloat32ArrayFloat64ArrayFormDataFunctionGlobalInt16ArrayInt32ArrayInt8ArrayInternalErrorIntlIterableABCJSONJobMapMappingABCMathNumberObjectPerformanceProgramKilledPromiseRangeErrorReferenceErrorReflectRegExpScreenSetSetIntervalStorageStringSymbolToInt32()ToUint32()TypedArrayURIErrorURLURLSearchParamsUint16ArrayUint32ArrayUint8ArrayUint8ClampedArrayWindowWorkeras_signed()as_unsigned()atob()btoa()clearInterval()clearTimeout()decodeURI()decodeURIComponent()encodeURI()encodeURIComponent()function()globalThisisFinite()isNaN()parse()parseFloat()parseInt()parsedate_to_datetime()parserinfoqueueMicrotask()quote()setInterval()setTimeout()structuredClone()timezoneunquote()windowEffectTimingComputedEffectTimingAnimationPlaybackEventAnimationEffectKeyframeEffectAnimation- domonic.components
WebsocketSpriteCSSDomonicJSSoundProgressBarInputModalWebpagewebpage_tmpl()- domonic.cmd
CmdExceptionCmdcommandcddirerasemkdirrmdircopymdrdfsutilfctouchgetmacipconfigshutdownechohostnameverpingmoverenamerenreplacesysteminfoattribtype_compdel_chkdskdriverqueryvolgpresultchdirwhoamilogoffmrinfotasklisttitletzutil- domonic.terminal
TerminalExceptioncommandcdlslnrmdirtouchdfdupscatmvcprmchmodchownusersuseradduserdelgroupsgroupaddgroupdeluniqsortdiffsshscplessheadtailuptimebashshutdownrebootkillallmkfileifconfigipconfigfingerpasswdwhoamihistorypingmanfindawkgrepcutaptgunziptargzipcroncrontabxargsnautilusdatecalbcrsyncgitwgetnmapnohuppythonnpmcowsaypipsaygccjqcurlffmpegconvertfigletbannerarasaatbasenamebatchcccflowchgrpcksumcommcompresscsplitctagscxrefdddeltadirnameedenvexexpandexprfilefoldfort77fusergencatgetgetconficonvipcrmipcsjoinlexlinklocalelocaledefloggerlognamelpm4mailxmakemesgmkdirmkfifomorenewgrpnicenlnmodpastepatchpathchkpaxprprsqalterqdelqholdqmoveqmsgqrerunqrlsqselectqsigqstatqsubrenicermdelsactsccssedshsleepsplitstringsstripsttytabstalkteetesttimetputtrtruetsortttyunameuncompressunexpandungetunlinkuucpuudecodeuuencodeuustatuuxvalwcwhatwhowriteyacczcataliasbgbindbuiltincallercompgencompletecompoptdeclaredirsdisownechoenableexitexportfcfggetoptsjobskillletlocallogoutmapfilepopdprintfpushdpwdreadreadarrayreadonlyshiftshoptsourcesuspendtimestraptypesetulimitumaskunaliasunsetwait- domonic.JSON
parse_file()parse()stringify()tablify()table2json()csvify()csv2json()load()loads()dumps()json2csv()dump()flatten()is_json()- domonic.CDN
CDN_JSCDN_CSSCDN_IMGCDN_FONT- domonic.events
EventListenerEventListenerOptionsEventTargetEventDispatcherEventAbortSignalAbortControllerUIEventMouseEventKeyboardEventCompositionEventFocusEventTouchEventWheelEventAnimationEventClipboardEventErrorEventCloseEventSubmitEventToolEventPointerEventBeforeUnloadEventSVGEventTimerEventDragEventHashChangeEventInputEventPageTransitionEventPopStateEventStorageEventTransitionEventProgressEventCustomEventToggleEventCommandEventGamePadEventFormDataEventTrackEventBlobEventDeviceMotionEventDeviceOrientationEventDeviceLightEventDeviceProximityEventWebGLContextEventFetchEventExtendableEventSyncEventSecurityPolicyViolationEventDOMContentLoadedEventTweenEventPromiseRejectionEventMessageEventGlobalEventHandlerWindowEventHandler- domonic.style
StyleSheetStyleSheetListCSSRuleCSSImportRuleCSSStyleRuleCSSFontFaceRuleCSSPageRuleCSSNamespaceRuleCSSKeyframesRuleCSSKeyframeRuleCSSCounterStyleRuleCSSDocumentRuleCSSColorProfileRuleCSSFontFeatureValuesRuleCSSGroupingRuleCSSConditionRuleCSSSupportsRuleCSSSupportsConditionRuleCSSWhenRuleCSSElseRuleCSSMediaRuleCSSContainerRuleCSSScopeRuleCSSLayerBlockRuleCSSLayerStatementRuleCSSPropertyRuleCSSNestedDeclarationsMediaListCSSRuleListCSSStyleSheetStyleCSSStyleDeclarationComputedStyleDeclarationCSSStyleValueCSSKeywordValueCSSUnitValueStylePropertyMapCSSCSSParser- domonic.window
MediaQueryListIdleDeadlineCustomElementRegistryNavigatorScreenWindowconfirm()- domonic.utils
NumberUnitNumberUtilsUtils- domonic.decorators
el()called()iife()accepts()silence()check()log()instead()deprecated()as_json()- domonic.svg
SVGElementSVGPointcreate_element()svgaanimateanimateMotionanimateTransformaudiocanvascircleclipPathdefsdescdiscardellipsefeBlendfeColorMatrixfeComponentTransferfeCompositefeConvolveMatrixfeDiffuseLightingfeDisplacementMapfeDistantLightfeDropShadowfeFloodfeFuncAfeFuncBfeFuncGfeFuncRfeGaussianBlurfeImagefeMergefeMergeNodefeMorphologyfeOffsetfePointLightfeSpecularLightingfeSpotLightfeTilefeTurbulencefilterforeignObjectgiframeimagelinelinearGradientmarkermaskmetadatampathpathpatternpolygonpolylineradialGradientrectscriptsetstopstyleswitchsymboltexttextPathtitletspanunknownusevideoviewaltGlyphaltGlyphDefaltGlyphItemanimateColorcolor_profilecursorfontfont_facefont_face_formatfont_face_namefont_face_srcfont_face_uriglyphglyphRefhatchhatchpathhkernmissing_glyphsolidcolortrefvkern- domonic.dQuery
EventHandlerdQuery_eldproxy()odQuery- domonic.d3
- domonic.d3.selection
namespace()creatorInherit()creatorFixed()creator()none()selector()array()window()defaultView()styleValue()sparse()EnterNodeClassListclassArray()classList()classedAdd()classedRemove()Selectionselection()selection_selection()select()create()local()Localmatcher()childMatcher()sourceEvent()pointer()pointers()empty()selectAll()selectorAll()- domonic.d3.format
formatDecimal()formatDecimalParts()formatPrefixAuto()formatRounded()exponent()formatGroup()formatNumerals()formatSpecifier()FormatSpecifierformatTrim()identity()NewFormatProxyformatLocaleformat()formatPrefix()defaultLocale()set_locale()supported_locales()precisionFixed()precisionPrefix()precisionRound()- domonic.d3.path
Pathpath- domonic.d3.polygon
polygonArea()polygonCentroid()cross()polygonHull()polygonContains()polygonLength()- domonic.d3.dispatch
dispatch()parseTypenames()DispatchTweenEquationTweenDataTweenBackBounceCircCubicElasticExpoLinearQuadQuartQuintSine- domonic.x3d
x3dX3DsceneScenematerialMaterialappearanceAppearancesphereSphereshapeShapetransformTransformtimeSensorTimeSensorinlineInlineboxBoxplanePlanerouteRouteanchorAnchorarc2DArc2DarcClose2DArcClose2DaudioClipAudioClipbackgroundBackgroundballJointBallJointbillboardBillboardbinaryGeometryBinaryGeometryblendedVolumeStyleBlendedVolumeStyleblendModeBlendModeblockBlockboundaryEnhancementVolumeStyleBoundaryEnhancementVolumeStylebufferAccessorBufferAccessorbufferGeometryBufferGeometrybufferViewBufferViewcADAssemblyCADAssemblycADFaceCADFacecADLayerCADLayercADPartCADPartcartoonVolumeStyleCartoonVolumeStylecircle2DCircle2DclipPlaneClipPlanecollidableShapeCollidableShapecollisionCollisioncollisionCollectionCollisionCollectioncollisionSensorCollisionSensorcolorColorcolorChaserColorChasercolorDamperColorDampercolorInterpolatorColorInterpolatorcolorMaskModeColorMaskModecolorRGBAColorRGBAcommonSurfaceShaderCommonSurfaceShadercomposedCubeMapTextureComposedCubeMapTexturecomposedShaderComposedShadercomposedTexture3DComposedTexture3DcomposedVolumeStyleComposedVolumeStyleconeConecoordinateCoordinatecoordinateDamperCoordinateDampercoordinateDoubleCoordinateDoublecoordinateInterpolatorCoordinateInterpolatorcylinderCylindercylinderSensorCylinderSensordepthModeDepthModedirectionalLightDirectionalLightdishDishdisk2DDisk2DdoubleAxisHingeJointDoubleAxisHingeJointdynamicLODDynamicLODedgeEnhancementVolumeStyleEdgeEnhancementVolumeStyleelevationGridElevationGridenvironmentEnvironmentextrusionExtrusionfieldFieldfloatVertexAttributeFloatVertexAttributefogFogfontStyleFontStylegeneratedCubeMapTextureGeneratedCubeMapTexturegeoCoordinateGeoCoordinategeoElevationGridGeoElevationGridgeoLocationGeoLocationgeoLODGeoLODgeoMetadataGeoMetadatageoOriginGeoOrigingeoPositionInterpolatorGeoPositionInterpolatorgeoTransformGeoTransformgeoViewpointGeoViewpointgroupGrouphAnimDisplacerHAnimDisplacerhAnimHumanoidHAnimHumanoidhAnimJointHAnimJointhAnimSegmentHAnimSegmenthAnimSiteHAnimSiteimageTextureImageTextureimageTexture3DImageTexture3DimageTextureAtlasImageTextureAtlasindexedFaceSetIndexedFaceSetindexedLineSetIndexedLineSetindexedQuadSetIndexedQuadSetindexedTriangleSetIndexedTriangleSetindexedTriangleStripSetIndexedTriangleStripSetisoSurfaceVolumeDataIsoSurfaceVolumeDatalinePropertiesLinePropertieslineSetLineSetlODLODmatrixTextureTransformMatrixTextureTransformmatrixTransformMatrixTransformmeshMeshmetadataBooleanMetadataBooleanmetadataDoubleMetadataDoublemetadataFloatMetadataFloatmetadataIntegerMetadataIntegermetadataSetMetadataSetmetadataStringMetadataStringmotorJointMotorJointmovieTextureMovieTexturemPRPlaneMPRPlanemPRVolumeStyleMPRVolumeStylemultiTextureMultiTexturemultiTextureCoordinateMultiTextureCoordinatenavigationInfoNavigationInfonormalNormalnormalInterpolatorNormalInterpolatornozzleNozzleopacityMapVolumeStyleOpacityMapVolumeStyleorientationChaserOrientationChaserorientationDamperOrientationDamperorientationInterpolatorOrientationInterpolatororthoViewpointOrthoViewpointparamParamparticleSetParticleSetphysicalEnvironmentLightPhysicalEnvironmentLightphysicalMaterialPhysicalMaterialpixelTexturePixelTexturepixelTexture3DPixelTexture3DplaneSensorPlaneSensorpointLightPointLightpointSetPointSetpolyline2DPolyline2Dpolypoint2DPolypoint2DpopGeometryPopGeometrypopGeometryLevelPopGeometryLevelpositionChaserPositionChaserpositionChaser2DPositionChaser2DpositionDamperPositionDamperpositionDamper2DPositionDamper2DpositionInterpolatorPositionInterpolatorpositionInterpolator2DPositionInterpolator2DprojectionVolumeStyleProjectionVolumeStylepyramidPyramidquadSetQuadSetradarVolumeStyleRadarVolumeStylerectangle2DRectangle2DrectangularTorusRectangularTorusrefinementTextureRefinementTextureremoteSelectionGroupRemoteSelectionGrouprenderedTextureRenderedTexturerigidBodyRigidBodyrigidBodyCollectionRigidBodyCollectionscalarChaserScalarChaserscalarDamperScalarDamperscalarInterpolatorScalarInterpolatorsegmentedVolumeDataSegmentedVolumeDatashadedVolumeStyleShadedVolumeStyleshaderPartShaderPartsilhouetteEnhancementVolumeStyleSilhouetteEnhancementVolumeStylesingleAxisHingeJointSingleAxisHingeJointsliderJointSliderJointslopedCylinderSlopedCylindersnoutSnoutsolidOfRevolutionSolidOfRevolutionsoundSoundsphereSegmentSphereSegmentsphereSensorSphereSensorsplinePositionInterpolatorSplinePositionInterpolatorspotLightSpotLightstaticGroupStaticGroupstippleVolumeStyleStippleVolumeStylesurfaceShaderTextureSurfaceShaderTextureswitchSwitchtexCoordDamper2DTexCoordDamper2DtextTexttextureTexturetextureCoordinateTextureCoordinatetextureCoordinate3DTextureCoordinate3DtextureCoordinateGeneratorTextureCoordinateGeneratortexturePropertiesTexturePropertiestextureTransformTextureTransformtextureTransform3DTextureTransform3DtextureTransformMatrix3DTextureTransformMatrix3DtoneMappedVolumeStyleToneMappedVolumeStyletorusTorustouchSensorTouchSensortriangleSetTriangleSettriangleSet2DTriangleSet2DtwoSidedMaterialTwoSidedMaterialuniformUniformuniversalJointUniversalJointviewfrustumViewfrustumviewpointViewpointvolumeDataVolumeDataworldInfoWorldInfox3DAppearanceChildNodeX3DAppearanceChildNodex3DAppearanceNodeX3DAppearanceNodex3DBackgroundNodeX3DBackgroundNodex3DBinaryContainerGeometryNodeX3DBinaryContainerGeometryNodex3DBindableNodeX3DBindableNodex3DBoundedObjectX3DBoundedObjectx3DChaserNodeX3DChaserNodex3DChildNodeX3DChildNodex3DColorNodeX3DColorNodex3DComposableVolumeRenderStyleNodeX3DComposableVolumeRenderStyleNodex3DComposedGeometryNodeX3DComposedGeometryNodex3DCoordinateNodeX3DCoordinateNodex3DDamperNodeX3DDamperNodex3DDragSensorNodeX3DDragSensorNodex3DEnvironmentNodeX3DEnvironmentNodex3DEnvironmentTextureNodeX3DEnvironmentTextureNodex3DFogNodeX3DFogNodex3DFollowerNodeX3DFollowerNodex3DFontStyleNodeX3DFontStyleNodex3DGeometricPropertyNodeX3DGeometricPropertyNodex3DGeometryNodeX3DGeometryNodex3DGroupingNodeX3DGroupingNodex3DInfoNodeX3DInfoNodex3DInterpolatorNodeX3DInterpolatorNodex3DLightNodeX3DLightNodex3DLODNodeX3DLODNodex3DMaterialNodeX3DMaterialNodex3DMetadataObjectX3DMetadataObjectx3DNavigationInfoNodeX3DNavigationInfoNodex3DNBodyCollidableNodeX3DNBodyCollidableNodex3DNodeX3DNodex3DPlanarGeometryNodeX3DPlanarGeometryNodex3DPointingDeviceSensorNodeX3DPointingDeviceSensorNodex3DRigidJointNodeX3DRigidJointNodex3DSensorNodeX3DSensorNodex3DShaderNodeX3DShaderNodex3DShapeNodeX3DShapeNodex3DSoundNodeX3DSoundNodex3DSoundSourceNodeX3DSoundSourceNodex3DSpatialGeometryNodeX3DSpatialGeometryNodex3DTexture3DNodeX3DTexture3DNodex3DTextureCoordinateNodeX3DTextureCoordinateNodex3DTextureNodeX3DTextureNodex3DTextureTransformNodeX3DTextureTransformNodex3DTimeDependentNodeX3DTimeDependentNodex3DTouchSensorNodeX3DTouchSensorNodex3DTransformNodeX3DTransformNodex3DVertexAttributeNodeX3DVertexAttributeNodex3DViewpointNodeX3DViewpointNodex3DVolumeDataNodeX3DVolumeDataNodex3DVolumeRenderStyleNodeX3DVolumeRenderStyleNode- domonic.mathml
math_mactionmenclosemerrormfencedmfracmimmultiscriptsmnmomovermpaddedmphantommrootmrowmsmspacemsqrtmsubmsubsupmsupmtablemtdmtextmtrsemanticsmaligngroupmalignmarkmslinemsgroupmlongdivmstylemprescriptsmscarriesmscarrymundermunderovernone- domonic.atom
AtomElementcreate_element()feedentryauthorcategorycontentcontributoremailgeneratoriconidlinklogonamepublishedrightssourcesubtitlesummarytitleupdateduri- domonic.rss
RSSElementcreate_element()rsschanneltitlelinkdescriptionitemlanguagecopyrightmanagingEditorwebMasterpubDatelastBuildDatecategorygeneratordocscloudttlimageurlratingtextInputnameskipHoursskipDayshourdayauthorcommentsenclosureguidsourceatom_linkcontent_encodeddc_creatordc_datemedia_contentmedia_thumbnailsy_updatePeriodsy_updateFrequency- domonic.odf
ODFElementcreate_element()create_odf_element()office_documentoffice_document_contentoffice_document_metaoffice_document_settingsoffice_document_stylesoffice_bodyoffice_textoffice_spreadsheetoffice_presentationoffice_automatic_stylesoffice_master_stylesoffice_stylesoffice_font_face_declsoffice_metaoffice_settingstext_ptext_htext_spantext_atext_listtext_list_itemtext_sectiontext_soft_page_breaktext_line_breaktext_stext_tabtext_bookmarktext_bookmark_starttext_bookmark_endtable_tabletable_table_columntable_table_rowtable_table_celltable_covered_table_celldraw_pagedraw_framedraw_imagedraw_text_boxdraw_rectdraw_linedraw_circledraw_custom_shapestyle_stylestyle_default_stylestyle_master_pagestyle_page_layoutstyle_page_layout_propertiesstyle_text_propertiesstyle_paragraph_propertiesstyle_table_propertiesstyle_table_column_propertiesstyle_table_row_propertiesstyle_table_cell_propertiesstyle_font_facemeta_generatormeta_initial_creatormeta_creation_datemeta_keywordmeta_user_definedmanifest_manifestmanifest_file_entryconfig_config_item_setconfig_config_item- domonic.geom
CircleEllipseGroupLayerLineOvalParticleParticle3DPathPlanePlotterPointPolygonPolylineQuaternionRectShapeSquareTimelinematrixvec2vec4vertex- domonic.sitemap
sitemap_format()sitemapindexsitemapurlseturlloclastmodchangefreqprioritysitemapindex_from_urls()sitemap_from_urls()get_sitemap()create_ns_element()atom_linkgeo_countrygeo_geogeo_place_nameimage_captionimage_geo_locationimage_imageimage_licenseimage_locimage_titlemobile_mobilenews_keywordsnews_newsnews_publication_datenews_stock_tickersnews_titlevideo_categoryvideo_content_locvideo_descriptionvideo_durationvideo_pricevideo_price_currencyvideo_publication_datevideo_ratingvideo_tagsvideo_thumbnail_locvideo_titlevideo_videovideo_view_countxhtml_link- domonic.ext.html_parser
DomonicHTMLParserparse()- domonic.ext.selectolax
parse()- domonic.ext.turbohtml
parse()- domonic.ext.html5lib
getDomBuilder()getTreeBuilder()- domonic.webapi.url
URLURLSearchParams- domonic.webapi.fetch
FetchedSetHeadersResponseRequestfetch()fetch_set()fetch_threaded()fetch_pooled()- domonic.webapi.crypto
CryptoCryptoKeySubtleCrypto- domonic.webapi.messaging
BroadcastChannelMessageChannelMessageEventMessagePort- domonic.webapi.webworkers
DedicatedWorkerGlobalScopeWorkerWorkerGlobalScopeclose()get_current_worker_scope()importScripts()postMessage()- domonic.webapi.file
BlobFileFileListFileReaderFileReaderSynccreateObjectURL()revokeObjectURL()resolveObjectURL()parse_data_url()- domonic.webapi.sanitizer
Sanitizersanitize_html_fragment()parse_html_document()- domonic.webapi.scheduler
SchedulerTaskControllerTaskPriorityChangeEventTaskSignal- domonic.webapi.streams
ReadableStreamWritableStreamTransformStreamCompressionStreamDecompressionStream- domonic.webapi.urlpattern
URLPattern- domonic.webapi.XMLHttpRequest
XMLHttpRequestFormData- domonic.webapi.history
HistoryEntryHistory- domonic.webapi.clipboard
ClipboardItemClipboard- domonic.webapi.dragndrop
DataTransferDataTransferItemDataTransferItemList- domonic.webapi.credentials
CredentialPasswordCredentialFederatedCredentialCredentialsContainer- domonic.webapi.geolocation
GeolocationGeolocationPositionGeolocationCoordinatesGeolocationError- domonic.webapi.webstorage
Storage- domonic.webapi.cookiestore
CookieChangeEventCookieListItemCookieStore- domonic.webapi.mediadevices
InputDeviceInfoMediaDeviceInfoMediaDevicesMediaStreamMediaStreamTrack- domonic.webapi.mediacapabilities
MediaCapabilities- domonic.webapi.mediasession
MediaSession- domonic.webapi.netinfo
NetworkInformation- domonic.webapi.push
PushManagerPushSubscriptionPushSubscriptionOptions- domonic.webapi.webrtc
- domonic.webapi.permissions
PermissionStatusPermissions- domonic.dom.serviceworker
ServiceWorkerServiceWorkerContainerServiceWorkerRegistration- domonic.webapi.sse
EventSource- domonic.webapi.websocket
- domonic.webapi.canvas
CanvasGradientCanvasPatternCanvasRenderingContext2DImageDataOffscreenCanvasPath2DTextMetricsWebGL2RenderingContextWebGLBufferWebGLProgramWebGLRenderingContextWebGLShader- domonic.webapi.cssfontloading
FontFaceFontFaceSetFontFaceSetLoadEvent- domonic.webapi.gamepad
GamepadGamepadButtonGamepadHapticActuatorGamepadManager- domonic.webapi.notifications
Notification
- Contribute
Projects¶
Blueberry: a browser-based file OS
ezcron: a cron viewer
bombdisposer: a basic game
htmlx: a lighter DOM-focused sibling project