home.social

Search

1000 results for “open_neuroscience”

  1. DATE: October 25, 2026 at 06:00AM
    SOURCE: PSYPOST.ORG

    ** Research quality varies widely from fantastic to small exploratory studies. Please check research methods when conclusions are very important to you. **
    -------------------------------------------------

    TITLE: Your body makes its own cannabis-like chemicals as you run, and neuroscience research finds they keep rising all the way to the marathon finish line, a possible clue to the runner’s high

    URL: psypost.org/your-body-makes-it

    A long run appears to keep the body’s own cannabis-like chemical messengers active for hours. New research published in BMC Medicine indicates that one of these compounds, anandamide, climbs steadily during a marathon and stays elevated 45 minutes after the finish, and that levels are also higher after ultramarathons of up to 230 kilometers. These chemical changes occurred alongside shifts in mood, such as reduced anxiety after running, although the study did not test whether one caused the other.

    The runner’s high is a state some people report during or after endurance exercise, marked by euphoria, reduced anxiety, less pain, and a sense of calm afterward. Early explanations credited endorphins, the body’s natural opioid painkillers, but endorphins are large, water-soluble molecules, and there is no convincing evidence that they cross the blood-brain barrier, the protective filter between the bloodstream and the brain, in meaningful amounts.

    Endocannabinoids offer an alternative: they are small, fat-soluble molecules made on demand from cell membranes, they can cross that barrier, and they act on the same cannabinoid receptors targeted by THC, the main psychoactive compound in cannabis. The two best studied are anandamide and 2-arachidonoylglycerol, often shortened to 2-AG.

    Laboratory experiments began supporting this shift in thinking when a 2015 animal experiment led by Johannes Fuss, the senior author of the new study, showed that wheel-running mice relied on cannabinoid receptors, rather than opioid receptors, to experience reduced anxiety and lower pain sensitivity. Human research soon followed, including a 2021 clinical trial by the same group where researchers gave participants a medication that blocked opioid receptors. The runners still reported the typical calm and euphoric sensations of a runner’s high, suggesting that endorphins were not required for those effects.

    In a 2022 systematic review, the same group found that 14 of 17 studies detected a rise in endocannabinoids after a single bout of exercise. But as the authors of the new study note, nearly all of that human research involved workouts lasting under an hour, leaving open what happens during true long-distance events.

    “Humans are capable of running for many hours, sometimes even days, and we wanted to understand what happens to the endocannabinoid system during such extraordinary endurance efforts,” lead author Michael Siebers, a psychiatrist at LVR University Hospital Essen, told PsyPost.

    “I believe that our ability to run long distances cannot be explained by anatomy alone,” Siebers explained. “We probably also need an entire orchestra of neuromodulators that reward us for sustained physical activity and help us continue running despite fatigue and discomfort. Thanks to a wonderful collaboration with researchers from Ulm and the German Sport University Cologne, we were able to investigate these processes during marathon and ultramarathon running, including distances of up to 230 kilometers.”

    To investigate these biochemical and emotional shifts under real-world conditions, Siebers and his colleagues, including senior author Johannes Fuss of the University of Duisburg-Essen and collaborators at University Hospital Ulm and the German Sport University Cologne, designed two field studies of trained endurance athletes.

    The first investigation examined 19 experienced runners, including seven women and 12 men, who completed a marathon course consisting of three 14-kilometer loops around Lake Baldeney in Essen, Germany. To establish a realistic comparison, each runner returned one to two months later to complete an identical-duration walking session along the same route at their preferred pace. Blood samples were drawn at the start, at the 14-kilometer and 28-kilometer marks, immediately after the full course (about 43 kilometers), and after a 45-minute rest period. Alongside blood draws, participants completed visual rating scales to score their current levels of euphoria, anxiety, and physical pain.

    The second investigation followed 36 athletes (16 ran 100 kilometers, 7 ran 160, and 13 ran 230) taking part in the TorTour de Ruhr, a non-stop ultramarathon in central Germany. These athletes, comprising 13 women and 23 men, provided blood samples and mood ratings before the race and shortly after crossing the finish line. In both studies, laboratory technicians measured several key lipids, including anandamide and 2-AG.

    In the marathon study, levels of anandamide rose progressively across the entire run. By the mid-race mark, anandamide was higher during running than during walking, which produced only modest changes, and it remained higher 45 minutes after the marathon ended. Running was also far more intense, with runners averaging about 83 percent of their estimated maximum heart rate, compared with about 58 percent while walking. The compound 2-AG displayed a different trajectory, showing lower levels early in the run compared to walking, but climbing during the final kilometers and staying elevated during early recovery.

    The ultramarathon runners exhibited similar biochemical patterns upon completing their races. Anandamide and 2-AG concentrations were both higher after the race across all three ultramarathon distances compared to pre-race baselines. In an exploratory comparison, post-race anandamide levels after the marathon were nearly double those seen after the ultramarathons (32.4 versus 17.1 in the study’s measurements), which the authors suggest may reflect the higher running intensity of the shorter race.

    Mood ratings also shifted during running. Marathon participants reported higher euphoria while running than while walking at several points, although at the 28-kilometer mark, a stage where runners often describe “hitting the wall,” euphoria was no longer different from walking. Anxiety ratings started slightly higher before the marathon than before the walk, then fell toward the end of the run, and pain ratings showed little change after 14 kilometers but rose markedly from 28 kilometers on. In the ultramarathon group, anxiety decreased after the race, more so at 100 and 160 kilometers than at 230, while pain rose and euphoria did not change in a statistically significant way.

    When asked afterward, only 3 of the 19 marathoners said they had experienced a runner’s high during the marathon, while 8 said they had not and 8 were unsure; among the ultramarathoners, 12 said they had and 19 said they had not.

    The findings are in line with research covered by PsyPost in 2022, which found that acute exercise consistently increased endocannabinoid levels, especially anandamide, with moderate intensity yielding stronger boosts than low intensity.

    “This is an interesting study, particularly because it’s not easy to investigate physiological responses to exercise over marathon and ultramarathon distances,” said Danielle McCartney, a research affiliate at the University of Sydney who was not involved in the study. “The key finding is that circulating concentrations of anandamide (AEA), an endocannabinoid, increased progressively throughout the marathon and were also elevated following ultramarathons of 100, 160 and 230 km.”

    “Previous studies have consistently shown that moderate-intensity running increases blood concentrations of AEA,” McCartney told PsyPost. “However, most of this research has focused on relatively short bouts of exercise (less than 60 minutes). This study fills an important gap by examining much longer running distances, and shows that increases in AEA also occur during marathon and ultramarathon running.”

    The researchers see the sustained activity as a possible clue to how humans manage hours of running.

    “One of our most important findings is that the body’s own cannabinoid system remains active even during extremely prolonged exercise,” Siebers noted. “We observed substantial increases in endocannabinoids, particularly anandamide, not only during marathon running but also after ultramarathons lasting many hours.”

    “These molecules are sometimes described as the body’s own cannabis-like substances because they act on the same cannabinoid receptor system targeted by THC,” he said. “They may contribute to the rewarding, calming, and potentially pain-modulating effects of running. From an evolutionary perspective, I find this particularly fascinating. Humans have an extraordinary capacity for endurance running, and the endocannabinoid system may be one of the biological mechanisms that make prolonged running not only physically possible but also psychologically rewarding.”

    Siebers described the shift many runners report over the course of a run.

    “At the beginning of a run, everything may feel uncomfortable,” he observed. “Your calves are aching, your back feels stiff, and every step requires some effort.”

    “But after a while, something can change,” he noted. “Your movements become smoother, running feels increasingly effortless, and you may enter a state of flow. Sometimes this develops into euphoria, while everyday worries and stress seem to fade into the background.”

    Siebers also sees potential relevance for mental health.

    “As a psychiatrist, I find this especially interesting because running can become a valuable tool for coping with stress, improving mood, and supporting mental well-being,” he added. “Of course, exercise is not a replacement for professional treatment when it is needed, but for some people, it can be an important part of their recovery and everyday life.”

    The study did not test whether runners whose anandamide rose the most felt the most euphoric or calm.

    McCartney cautioned, however, against assuming that these chemical increases directly generate the emotional sensations reported by participants. “It’s important to recognize that this study doesn’t establish that increases in AEA are responsible for the ‘runner’s high,'” she explained. “It shows that prolonged running increases blood AEA concentrations and is associated with changes in mood, including increased euphoria and reduced anxiety. While these findings are consistent with the idea that AEA contributes to the runner’s high, they don’t establish a causal relationship.”

    The TorTour de Ruhr presented extreme physical demands, requiring runners to navigate unfamiliar routes for up to 230 kilometers, often through the night and in isolation.

    “What impressed me most was witnessing what humans are capable of achieving,” Siebers recounted. “Some of our participants ran distances of up to 230 kilometers, maintaining their effort for many hours, sometimes running alone through the night on unfamiliar trails. Equally fascinating was the atmosphere among the ultramarathon runners. Despite the enormous physical demands, there was a remarkable sense of community and positivity.”

    “I was particularly struck by participants who reported very little anxiety after these extraordinary distances, even after spending hours alone in unfamiliar surroundings,” he said. “Some runners also reported surprisingly little pain despite covering distances that would seem almost unimaginable to most people. These observations make me wonder how strongly our internal neuromodulatory systems can influence the way we experience physical effort, pain, and fear.”

    Pain was still common: 29 of the 36 ultramarathoners reported pain during the race, only five reported none, and eight said they used pain medication, particularly in the longest race.

    As with all research, there are some caveats to consider. The marathon study used walking as a comparison rather than having participants sit quietly, meaning the control condition still involved mild physical exertion. Participants also selected their own running and walking speeds, which preserved a realistic race environment but introduced variation in how hard each individual was working.

    “I have reasonable confidence in the main findings, particularly because the increases in AEA were consistent across the marathon and ultramarathon studies and align with previous research,” McCartney told PsyPost. “However, there are some limitations worth considering. Measuring endocannabinoids in blood can be technically challenging, and although the authors used established analytical methods, they don’t explicitly report whether these methods were validated.”

    “I’d also have liked more information about what participants ate during and after exercise,” McCartney added. “We know that nutrient intake can influence blood AEA concentrations, so it’s possible that dietary behavior affected the measures.”

    The authors describe their laboratory analysis as following established, standardized protocols, including adding chemically labeled reference versions of each compound to every sample to allow exact measurement. They also acknowledge that participants’ nutrition, rest, and time of day were not fully controlled.

    Every participant also ran the marathon before doing the walking session, which the authors note may have raised anxiety at the start of the running day. The samples were also small, with 19 marathoners and between 7 and 16 runners at each ultramarathon distance, and no blood was drawn during the ultramarathons themselves.

    The emotional measures relied on brief, single-item rating scales, which capture only a snapshot of complex mental states like flow or emotional relief. Logistics during the ultramarathon also meant that pre-race samples for the 230-kilometer group had to be collected the previous evening rather than right at the starting line.

    “One important distinction is that we measured endocannabinoids in the blood, not directly in the brain,” Siebers pointed out. “Although our findings show substantial changes in circulating endocannabinoid concentrations, we cannot yet determine precisely what happens in the brain during prolonged running.”

    “Another important point is that the runner’s high is not simply caused by one molecule,” he added. “Endocannabinoids are probably part of a much larger and highly complex orchestra of neuromodulators, including dopamine, serotonin, endogenous opioids, and other signaling systems. Furthermore, not everyone experiences a runner’s high, and running does not necessarily become more enjoyable the longer someone continues.”

    When considering future research, McCartney highlighted both pharmacological and nutritional avenues for follow-up testing. “Ideally, I’d like to see whether blocking cannabinoid receptors prevents the runner’s high,” she said. “Unfortunately, the safety concerns associated with drugs like rimonabant make that a difficult experiment to conduct in humans!”

    Rimonabant, a drug that blocks the main cannabinoid receptor, was pulled from the European market in 2008 after it was linked to depression and suicidal thoughts.

    “More realistically, I’d be interested in seeing whether nutrition influences the endocannabinoid response to prolonged exercise,” McCartney told PsyPost, “particularly given that runners typically consume substantial amounts of carbohydrate during marathon and ultramarathon events.”

    Looking ahead, the authors hope to examine how these chemical messengers operate directly within the central nervous system during physical exertion.

    “One of my main interests is understanding how running influences mood changes and the brain itself,” Siebers said. “So far, our research has primarily focused on measuring endocannabinoids in peripheral blood. However, the runner’s high ultimately involves processes within the central nervous system, and we still know surprisingly little about what actually happens in the human brain during running. I would therefore like to investigate these central mechanisms more directly, potentially through neuroimaging and other methods that allow us to study neuromodulation in the brain.”

    “In addition, I am particularly interested in how the endocannabinoid system interacts with pain regulation during prolonged exercise,” he continued. “Why can some individuals continue running for hours despite considerable physical stress, while others experience increasing discomfort? Understanding these mechanisms could provide valuable insights not only into endurance exercise but also into pain regulation and mental health.”

    Beyond laboratory measurements, the researchers also reflected on the broader personal and evolutionary dimensions of sustained running.

    Siebers emphasized that the effect requires no outside substance. “What fascinates me is that our bodies can produce their own cannabis-like substances simply through physical activity,” he told PsyPost. “Under the right circumstances, this can contribute to a completely natural high, without consuming any external substance.”

    “For me, the most exciting message is that running is much more than moving our legs,” Siebers said. “It is a fascinating interaction between our body and brain, and understanding this interaction may help us discover why humans have developed such an extraordinary relationship with endurance running.”

    The study, “Endocannabinoid dynamics across marathon and ultramarathon running: evidence from two field studies,” was authored by Michael Siebers, Dana Huvermann, Christoph Siebers, Deborah Canales-Romero, Alexandra Florea-Ghile, Lina Keite, Lucas John, Moritz Munk, Roman Bizjak, Jens Witzel, Sebastian Schulz, Johannes Kirsten, Laura Bindila, Anke Hinney, Marijke Grau, Daniel A. Bizjak, Harald Engler, and Johannes Fuss.

    URL: psypost.org/your-body-makes-it

    -------------------------------------------------

    Private, vetted email list for mental health professionals: clinicians-exchange.org

    Unofficial Psychology Today Xitter to toot feed at Psych Today Unofficial Bot @PTUnofficialBot

    -------------------------------------------------

    #psychology #counseling #socialwork #psychotherapy @psychotherapist @psychotherapists @psychology @socialpsych @socialwork @psychiatry #mentalhealth #psychiatry #healthcare #depression #psychotherapist #RunnersHigh #Running #Marathon #Ultramarathon #EnduranceRunning #SportsScience #Neuroscience #Endocannabinoids #Anandamide #MentalWellness

  2. Nookito, a community for the tiny internet: personal sites, curious projects, and small corners of the web made by people who care about sharing what they love. It's a place to wander around beyond the usual feeds, find something unexpected, and meet the people behind the links.

    Join the community forum and check out the free services provided for anyone to use.

    nookito.net/
    #open #opensource #internet #community #freedom

  3. Open Planner Studio brings open BIM construction planning to the browser and desktop

    Open Planner Studio is an open source construction planning application with Gantt charts, critical-path analysis, and native IFC 4.3 files.

    osarch.org/2026/10/25/open-pla

  4. Open source works when people show up! 👏

    @benny and DeShea Witcher discuss how the Promo SIG benefits the broader AlmaLinux community. youtube.com/shorts/et9zaIrLX_8

  5. Open-Meteo is a free API that is used to get weather data. It doesn't need a key or even a sign-up, allowing you to run your first request in a snap of your fingers. In this guide I will try to explain this API purely from a Python developer's viewpoint, and I will only cover the two major endpoints:

    • Geocoding - Used to convert the names of cities to their coordinates on a world map.

    • Forecast - The expected weather data for that location.

    Prerequisites: Python 3 installed and basic knowledge of Python.

    Usage terms: Open-Meteo is free for non-commercial use, and the data is licensed CC BY 4.0, so you must credit Open-Meteo. Check the official site for current rate limits and commercial terms.

    Set-up


    For the set-up you will first need to install the requests Python library by running this in your terminal.

    pip install requests

    Starting Out


    To start, let me provide you with the code to get the temperature in, say, Berlin, Germany. It is as follows:

    import requests

    response = requests.get(
    "https://api.open-meteo.com/v1/forecast",
    params={
    "latitude": 52.52,
    "longitude": 13.41,
    "current": "temperature_2m",
    },
    )

    data = response.json()
    print(data["current"]["temperature_2m"])

    Save this code in a file such as weather.py and run it in your terminal with python weather.py after installing the requests library. Here is what has been done in this code:

    1) We have imported the requests library to get data from an API.

    2) We have response, which is just a variable that holds the API's reply, set equal to the following:

    2.1) Get data from the API website using the API link.

    2.2) Set the params (parameters) as the latitude and longitude of the place. In this case they are the coordinates of Berlin. Then we ask for the current temperature at 2 metres above ground level (that is what 2m means).

    3) Now we close the parameters and the response query.

    4) Then we convert the response to a Python dictionary with .json() and print the current temperature value.

    Authentication


    None for free, non-commercial use, as requests are plain GET calls with no headers or keys. (Commercial subscription tiers use an API key.)

    Endpoint 1: Geocoding


    We will find exact locations from just the city names. Here is the base URL.

    geocoding-api.open-meteo.com/v…

    Here are the parameters:

    ParameterTypeRequiredDescriptionnamestringYesName of the city you want to check.countintegerNoNumber of results you want (Default 10).languagestringNoThe language you want the result in. Default (en for English).formatstringNoThe data format of the response default is json.countryCodestringNoFilters countries using its two letter code.apikeystringNoAuthentication key required only for commercial subscription tiers.


    Here is an example that looks up the location data for London:

    import requests

    response = requests.get(
    "https://geocoding-api.open-meteo.com/v1/search",
    params={"name": "London", "count": 1, "language": "en"},
    )

    data = response.json()
    print(data["results"][0])

    • You start by importing the requests module.
    • You set up the variable response with the URL as the base URL I provided above.
    • Then you enter the parameters. Only the name is required, everything else is optional.

    The response will be something like this:

    {
    "results": [
    {
    "id": 2643743,
    "name": "London",
    "latitude": 51.50853,
    "longitude": -0.12574,
    "elevation": 25.0,
    "feature_code": "PPLC",
    "country_code": "GB",
    "admin1_id": 6269131,
    "admin2_id": 2648110,
    "timezone": "Europe/London",
    "population": 8961989,
    "country_id": 2635167,
    "country": "United Kingdom",
    "admin1": "England",
    "admin2": "Greater London"
    }
    ]
    }

    Here is what these response fields mean.

    Attribute NamesDescriptionValuesidUnique identifier for the geoname location entity2643743nameName of the specific city or locationLondonlatitudeGeographic coordinate specifying north-south position51.50853longitudeGeographic coordinate specifying east-west position-0.12574elevationHeight above sea level measured in metres25.0feature_codeClassification code mapping the location typePPLCcountry_codeTwo-letter ISO country code for the nationGBadmin1_idUnique ID for the primary administrative division6269131admin2_idUnique ID for the secondary administrative division2648110timezoneWhich region is the location in.Europe/LondonpopulationTotal number of people living in the area8961989country_idUnique identifier for the country2635167countryFull name of the countryUnited Kingdomadmin1Name of the primary administrative level (e.g. state/province)Englandadmin2Name of the secondary administrative level (e.g. county)Greater London
    Note: If nothing matches, the response has no results key at all. Use data.get("results") instead of data["results"] to avoid a KeyError.


    Endpoint 2: Forecast


    Returns the forecast of conditions for the location.

    Base URL:

    api.open-meteo.com/v1/forecast

    Again, these are the parameters for this endpoint.

    ParameterTypeRequiredDescriptionlatitudefloatYesLatitude in decimal degrees (-90 to 90)longitudefloatYesLongitude in decimal degrees (-180 to 180)currentstringNoCurrent-condition variables, comma separatedhourlystringNoHourly variables, comma separateddailystringNoDaily summaries, comma separated. Requires timezonetimezonestringNoe.g. Asia/Kolkata or autotemperature_unitstringNocelsius (default) or fahrenheitforecast_daysintegerNoNumber of forecast days to return


    Now here are some common variable names that you may encounter in this endpoint.

    VariableUsed inMeaningtemperature_2mcurrent, hourlyAir temperature 2 m above groundrelative_humidity_2mcurrent, hourlyRelative humidity (%)wind_speed_10mcurrent, hourlyWind speed 10 m above groundweather_codecurrent, hourly, dailyWeather condition as a WMO codetemperature_2m_max / _mindailyDaily highest and lowest temperatureprecipitation_sumdailyTotal daily precipitation (mm)


    Here is an example:

    import requests

    response = requests.get(
    "https://api.open-meteo.com/v1/forecast",
    params={
    "latitude": 19.07,
    "longitude": 72.88,
    "current": "temperature_2m,wind_speed_10m",
    "daily": "temperature_2m_max,temperature_2m_min",
    "timezone": "Asia/Kolkata",
    "forecast_days": 3,
    },
    )

    data = response.json()
    print(data)

    Here's how this works:

    • You first import the requests module like always.

    • You again set up a variable that gets its data from the base URL I provided above. Make sure it is the URL of the 2nd endpoint and not the 1st.

    • You then define the parameters. Only the latitude and longitude of your chosen city are required. I chose Mumbai, India, so I have entered its coordinates.

    • Then you enter additional parameters and variables using the above table as a reference.

    • Then you convert the response with response.json(), store it in the variable data and print it.

    You will see something like this if you did it correctly (the times and values will differ, since this is live data):

    {
    "latitude": 19.07,
    "longitude": 72.88,
    "timezone": "Asia/Kolkata",
    "current_units": {
    "temperature_2m": "°C",
    "wind_speed_10m": "km/h"
    },
    "current": {
    "time": "2026-10-23T14:00",
    "temperature_2m": 32.1,
    "wind_speed_10m": 11.4
    },
    "daily": {
    "time": ["2026-10-23", "2026-10-24", "2026-10-25"],
    "temperature_2m_max": [33.5, 33.2, 32.9],
    "temperature_2m_min": [25.1, 24.8, 25.0]
    }
    }

    This is a trimmed version by the way (btw). Python's print will show it as a dictionary with single quotes, which is the same data.

    In Python this becomes a dictionary. Each key under daily holds a list, and the lists line up by position. Index 0 of temperature_2m_max belongs to the first date in time:

    daily = data["daily"]

    for date, high, low in zip(
    daily["time"], daily["temperature_2m_max"], daily["temperature_2m_min"]
    ):
    print(f"{date}: high {high}, low {low}")

    Errors


    When a request is invalid, the API returns HTTP status 400 and a JSON body explaining why.
    Here is an example of a script that will provide an error.

    import requests

    response = requests.get(
    "https://api.open-meteo.com/v1/forecast",
    params={"latitude": 120, "longitude": 72.88, "current": "temperature_2m"},
    )

    print(response.status_code)
    print(response.json())

    The reason for the error here is that latitudes go from -90° to 90° (longitudes go from -180° to 180°), so 120° is an invalid latitude. The error will look something like this:

    {
    "error": true,
    "reason": "Latitude must be in range of -90 to 90°. Given: 120.0."
    }

    Here are some common errors, their codes and fixes:

    StatusCauseFix400Invalid or missing parameter, or unknown variable nameRead the reason field and correct the request429Too many requestsSlow down and retry later5xxServer problemRetry after a short wait


    These were some common errors. You can refer to the official Open-Meteo documentation or the internet if you have an error that doesn't match the ones provided.

    One Final Example: Get the Forecast from a City Name Directly


    In this part you will learn to connect both endpoints to get the forecast by just the city name instead of latitudes and longitudes.

    import requests

    GEOCODING_URL = "https://geocoding-api.open-meteo.com/v1/search"
    FORECAST_URL = "https://api.open-meteo.com/v1/forecast"

    def get_coordinates(city):
    """Turn a city name into a place dictionary, or None if not found."""
    response = requests.get(GEOCODING_URL, params={"name": city, "count": 1})
    response.raise_for_status()
    results = response.json().get("results")
    return results[0] if results else None

    def get_current_weather(latitude, longitude):
    """Fetch current temperature and wind speed for a location."""
    response = requests.get(
    FORECAST_URL,
    params={
    "latitude": latitude,
    "longitude": longitude,
    "current": "temperature_2m,wind_speed_10m",
    "timezone": "auto",
    },
    )
    response.raise_for_status()
    return response.json()

    place = get_coordinates("Mumbai")

    if place is None:
    print("City not found.")
    else:
    weather = get_current_weather(place["latitude"], place["longitude"])
    current = weather["current"]
    print(f"{place['name']}, {place['country']}")
    print(f"Temperature: {current['temperature_2m']} °C")
    print(f"Wind speed: {current['wind_speed_10m']} km/h")

    Now here is what has been done.

    • You first import the required modules like always and provide the URLs for the two endpoints.

    • Now you make a function to get the coordinates of a city from its name, as coordinates are used in the forecast.

    • In that function you use requests.get() to get data on the entered city, and return the first result. If the request failed, raise_for_status() raises an exception.

    • You now make a second function to get the forecast of the city using endpoint 2.

    • You again set response equal to requests.get() from the base URL of the 2nd endpoint, not the first, with the latitude and longitude passed in and the other parameters of your choice.

    • You then get the response and return it.

    • You then call the get_coordinates() function and store the result in a variable place, with the city name in the brackets.

    • You then check if place is empty using an if place is None clause and print an error.

    • If the place isn't None, you use the second function you created to print the forecast of the selected city.

    Here is how the output can look:

    Mumbai, India
    Temperature: 32.1 °C
    Wind speed: 11.4 km/h

    Tips


    • Set timezone (or use auto) whenever you request daily data, or the request will fail.
    • Pass multiple variables as one comma-separated string, with no spaces.
    • Check current_units and daily_units in the response so you know what units you're reading.
    • Use response.raise_for_status() so failed requests raise an exception instead of passing silently.
    • Cache results instead of calling the API repeatedly for the same location.

    Weather data by Open-Meteo.com, licensed CC BY 4.0.#api #documentation #python #software #coding #development #engineering #inclusive #community
    How to get Weather-Data in Python using Open Meteo API.

  6. Open the link on iPhone in safari, very fun:

    music.apple.com/404

  7. Here is your ROS and open source robotics news for the week of October 19th, 2026:
    🏴󠁧󠁢󠁳󠁣󠁴󠁿 ROSCon UK concludes in Edinburgh
    🇸🇬 A sold-out ROSCon SG kicks off in Singapore
    🇪🇸 ROSCon Spain next week in Valencia
    🇮🇳 ROSCon India in Bengaluru announced
    📹 Ad-free ROSCon Global 2026 videos released
    🗽 ROS Meetup in NYC with @Tangent Robotics + more next Thursday
    🍎 Swift-ros2 and Conduit app bring ROS to iOS
    🤖 OpenAMRobot 2.0: open-source bi-manual mobile manipulator
    💰 Dream Labs raises $90M seed round
    🏠 Promise Robotics partners with D.R. Horton to build homes
    📋 Plansys 4.0.0 drops
    🐳 Pre-built Open-RMF Docker images + tutorials
    💻 Video: how to build multi-robot simulations
    🦿 Robotis releases new hands and grippers
    📂 42 free simulation environments for Gazebo
    📊 robot-data-diff: diff LeRobot datasets
    🎓 Stanford open-sources robotics courses
    🧪 NVIDIA releases Isaac Lab 3.0.0
    🏭 Robotnik on how ROS 2 powers industrial AMRs
    📝 Take the Open Robotics Annual Survey, win swag
    🚀 A whole lot more!

    Get all the news on ROS Discourse:
    discourse.openrobotics.org/t/r

  8. We are very pleased to announce the Local First devroom at FOSDEM'27 is on!

    We will meet on Sunday 31th of January, all day, at ULB in Brussels for another devroom packed with the best talks and speakers on open source Local First software!

    The Call for Participation is now open

    Submit your proposals here openlocalfirst.org/

    CfP is open until 3rd of December 2026, but do not delay in sending your proposal.

    Looking forward meeting you all for an amazing devroom.
    Spread the word, reshare!

  9. Psst - does anyone of you want to join the Open Security Conference 2026? A spot opened up so jump on the waiting list for your chance to get that last minute package!

    ➡️➡️➡️ opensecurityconference.org/con

    Please kindly help spread the word! 😊

    [lisi]

  10. You can now write and read open reviews on any website, with our new browser extension for Firefox and Chrome or other Chromium browsers. No integration by the site needed.

    Open a place on OpenStreetMap or Google Maps, or a book page with an ISBN, and the extension finds the subject for you. On other pages you review the website itself.

    Firefox: addons.mozilla.org/firefox/add
    Chrome: chromewebstore.google.com/deta

    Built from our widget sources: open-reviews.net/technology/wi

    #OpenReviews #OpenStreetMap #OpenData #Firefox #Chromium

  11. ✨ Our team is heading to Barcelona for 2026 with a full schedule of talks and presentations, ready to promote open, sovereign, and democratic technologies.

    Here's what you need to know to get involved and find out more: blog.okfn.org/2026/10/23/okfn-

  12. We are endlessly grateful to our Infra team on normal days, but the past week has not been normal. As many of you know, this week has seen the announcement of several critical security vulnerabilities. Thanks to their work, our build farm is patched and safe from these latest risks.

    If your company or organization relies on or any Open Robotics projects, please join the @[email protected] to help support the team that keeps the builds safe and operational. osralliance.org/

  13. Open Source Hong Kong booth at AWs Community Day

  14. Open Source Tool of the Week: GIMP

    Use this free, open-source image editor to crop photos, resize newsletter graphics, and prepare images for community websites. Work on a copy, then export as JPEG for most photos or PNG for transparency and crisp text. Check dimensions and file size before sharing.

    #OpenSource #GIMP

  15. Burnham open to return of free movement between UK and EU – POLITICO

    “But at the same time, it was a type of immigration that perhaps wasn’t as difficult [as now].…
    #Europe #EU #andyburnham #Brexit #EuropeanUnion #Immigration #Migration #Parliament #SingleMarket #UnitedKingdom
    europesays.com/europe/166191/

  16. Medicare open enrollment runs through December 7, and up to 5 million seniors whose Advantage plans are being cancelled need to log on and choose a new plan before the deadline. #wellness #healthcare #medicare

    npr.org/2026/10/24/nx-s1-60146

    Posted into FLIPBOARD EXCHANGE FEED 🗞️ @flipboard-exchange-feed-Econopass

  17. French Open: Sindhu sets final with world no. 1 An Se Young

    Two-time Olympic medallist P V Sindhu advanced to her second Super 750 final of the year with a…
    #Tennis #FrenchOpen #AnSe-young #PVSindhu #RolandGarros #SindhuvsAnSeYoung #Super750finals
    europesays.com/tennis/92429/

  18. Burnham open to ‘honest discussion’ on EU free movement

    The prime minister says he would welcome an “honest discussion” about the prospect of returning to free movement…
    #Europe #EU #EuropeanUnion
    europesays.com/europe/166082/

  19. Burnham open to 'honest discussion' on EU free movement

    The PM said he wants a "factual" and "evidence-based debate" about returning to free movement between Britain and Europe.

    bbc.co.uk/news/articles/c8e36k

    (c) #BBC #News

Share on Mastodon

Enter the server where you have an account.