How can I calculate the apparent position of stars as seen from a location on Earth at a specific time? I'd like to be able to generate star maps using Python, similar to what is done at YourSky. I believe this is possible with Astropy and the details provided in this question. I can import stars from Hipparcos and use this tutorial to map stars using a Mollweide projection.
What calculations are needed to adjust for location on earth and time of year? Is the Mollweide projection the appropriate projection to use, or would something else be better?

Also related: Correct units to use while plotting mollweide projection of sky chart with RA and Dec values, matplotlib
There is doubtless a way to do it in AstroPy, but in case you’re interested, the Skyfield library both supports the operations of loading the Hipparcos catalog and computing apparent coordinates. Here is its overall guide to positions, with running examples in the text:
https://rhodesmill.org/skyfield/stars.html
And here's a more elaborate and realistic example star plot, using the stereographic projection, which is my favorite when doing astronomical work:
https://rhodesmill.org/skyfield/example-plots.html#drawing-a-finder-chart-for-comet-neowise
In Skyfield you will account for location and time of year by using a specific time and location when generating your apparent positions, a maneuver that's included in this example:
https://rhodesmill.org/skyfield/examples.html#at-what-angle-in-the-sky-is-the-crescent-moon